본문 바로가기
깃&깃허브

깃 명령어 모음집

by 코딩의 세계 2025. 5. 23.

깃을 사용하다 보니, 내가 한 번 깃 명령어를 정리해야겠다는 생각이 들었다. 이 글에 깃에 관한 여러 명령어를 작성할 것이다. (앞으로 수정하면서 추가될 수 있음.)


git 하위 디렉토리를 생성 (저장소 생성)

만일 당신의 프로젝트에 git을 할당해서 디렉토리를 추적하고 싶다면? 다음의 명령어를 기입하자.

git init

소스 코드를 클론하기

당신이 팀원으로 팀프로젝트를 진행하거나 혹은 어떤 코드를 그대로 가져와서 작업을 해야 한다면? 깃 클론을 이용해 보자.

git clone https: ~~URL

예시를 보이자면,

위와 같은 레포지토리가 있다고 가정하자. 그럼 위에 code 부분을 클릭하면..

https에 해당되는 URL이 있다. copy 버튼을 누르고 본인 에디터로 가서 git clone을 해주면 된다.

예시 클론 명령어 >

git clone https://github.com/kss2002/learn-Next.git

깃 추가 및 커밋

얼추 작업을 했다면, 중간중간 깃을 추가 및 커밋을 해야 한다. (커밋이랑 "기록 및 메시지"라고 생각하면 된다.)

git add 파일명

혹은..

git add .

git add . < 이거는 모든 깃 작업을 한 방에 추가하는 명령어이다. 이게 아니면 부분적으로 추가해 주면 된다.

부분적인 추가는 다음 글을 참고하자.

https://codingworld2002.tistory.com/228

 

깃 특정 부분 add 하는 방법

지금까지 그냥 git add .으로 모든 코드를 올리고 commit를 남겼다면, "특정 부분"만 add 하는 방법을 알아보자.(하는 방법은 되게 쉽다.)https://infinitecode.tistory.com/64 [Git] 특정 파일 혹은 폴더만 add하기

codingworld2002.tistory.com


커밋을 하기 전에 add를 하는 것이다. 이 점을 참고하자.

git commit -m "여기에는 내가 남기고 싶은 커밋 메세지를 남기자."

항상 push를 하기 전에 commit을 남기는 습관을 들이자. 그리고 commit을 남겨야 비로소 기록까지 저장이 된다. 꼭 커밋하자.

참고로 커밋하는 메시지에는 정해진 규칙은 없다. 다만 팀원끼리 프로젝트를 하고 있고, 메시지를 남기는 것에 규칙이 있다면 꼭 그 규칙을 따라주자.

또한, 통상적으로 회사에서 가장 많이 쓰이는 커밋 규칙도 있다. 

https://www.conventionalcommits.org/en/v1.0.0/

 

Conventional Commits

A specification for adding human and machine readable meaning to commit messages

www.conventionalcommits.org

Conventional Commits으로, 가장 많이 쓰이는 규칙이니 한 번 읽어보는 것도 좋아 보인다.


깃 푸시

깃 명령어의 꽃. git push이다. 깃 푸시를 해야 깃허브에 코드를 올릴 수 있다.

git push -u orgin main

혹은..

git push -u origin master

...

보통 가장 최상위의 브랜치 이름은 main 아니면 master로 짓는다. 이에 맞게 push 해주면 된다. 그리고 "최초"로 push 하는 경우에는 origin 앞에는 -u를 붙여주자. 

이후에는 그냥 git push해도 상관없다.

git push

깃 브랜치

협업할 때에 필수인 "깃 플로우 전략"에 꼭 필요한 것은 브랜치이다.

https://youtu.be/EV3FZ3cWBp8?si=Ik0VOU6L7Zl3FnuT

코딩애플

명령어 >

브랜치의 목록들을 확인하는 방법 >
git branch

새로운 브랜치의 생성 >
git branch 새로운브랜치이름

브랜치의 변경 >
git checkout 브랜치이름
혹은..
git switch 브랜치이름

브랜치의 삭제 >
유의 사항: 브랜치를 삭제하기 전에 다른 브랜치로 이동하고 삭제할 것.
예를 들어 feat 브랜치를 삭제하고 싶다면? 일단 아무 브랜치로 이동하고 (ex. main) 삭제하자.

git branch -D 삭제할브랜치이름

깃과 깃허브를 연동하기

당신은 로컬환경에서 작업하고 있다. 이것을 인터넷에 있는 깃허브에 원격으로 이어줘야 한다. 이때 사용되는 명령어가 존재한다.

git remote add origin 연결할 레포지토리

당신이 처음으로 레포지토리를 만들고 연결할 때에 쓰인다. 레포지토리를 만들고 다음 이미지를 정말 많이 보았을 것이다.

연동

위에서부터 명령어를 잘 보면 내가 이야기한 명령어들이 쭉 보일 것이다.

git init부터 본다면..

(깃 저장소를 생성하고.. 깃을 추가하고... 커밋을 남기고... main 브랜치를 만들고.. 외부의 레포지토리를 연결하고.. 푸시함)

이 중 git remote add origin ~~ 이 부분이 깃과 깃허브를 연동시키는 명령어이다.

옵션 종류 보기 >
git remote --help

만일 remote에 대한 옵션의 종류를 보고 싶다면 위 명령어를 기입하자.


코드를 가져와서 병합하기 (pull / merge)

어? clone이랑 뭐가 달라요? 할 수 있다.

다르다. clone은 원격저장소의 내용을 "새로운 폴더"에 그대로 복사하는 것이다. 어찌 보면 팀원으로써 가장 처음으로 사용할 명령어이다.

반대로 pull은 지금 "현재 로컬저장소"에 가져와서 병합하는 방식이다. 이는 fetch와 merge가 합쳐진 작업이라고 생각하면 된다.

요약하자면. pull은 "원격 저장소"의 변경사항을 "자신의 로컬 저장소"로 가져와서 합치는 것. 이라고 할 수 있다.
명령어 >

git pull origin 가져오고자하는 코드의 브랜치

예를 들어 git pull origin master이라면? master의 코드를 당신의 브랜치(예를 들어 test 브랜치라면..) 에 그대로 가져와서 덮어쓰게 된다. 보통 이 명령어는 가장 최신의 코드를 당신의 브랜치에 반영할 때에 쓰인다.


그럼 merge는 무엇일까? merge는 "서로 다른 브랜치"에서 작업한 것을 합칠 때에 사용하는 것이다.

가상의 상황을 예시로 들어보자.


예를 들어 현재 main 브랜치가 존재한다.

당신은 새로운 기능을 만들기 위하여 login 브랜치를 만들었다고 가정하자.

그럼 브랜치의 분기 상태는 다음과 같을 것이다.

main 
   └─── login ← 여기서 로그인 기능 개발함

만일 당신이 현재 main에 있다면 login으로 가서 작업을 하면 된다. (login 브랜치에 있다면 브랜치를 바꿀 필요가 전혀 없다.)

예시 명령어 >

만일 당신이 login 브랜치가 아닌 상태라면..

git checkout login
# 로그인 UI 등등 기능을 구현
git add .
git commit -m "feat: 로그인 기능 추가"

자 이제 잘 login 기능을 만들었고 이제 이것을 main에 합치고 싶다면 다음과 같이 하면 된다.

git checkout main          # 먼저 main으로 이동
git pull origin main       # 최신화 (협업 중이라면 필수)
git merge login    # login 내용을 main으로 합침

일단 main으로 가라. 이후 pull을 이용해서 main을 최신화하라. 이후에 git merge login을 해주면 된다.

(즉, main으로 이동, 합치고자 하는 브랜치를 작성해 주면 된다. 이거 헷갈릴 수도 있으니 꼭 주의하자.)

자, 이때에 깃 충돌이 일어날 수 있다. 충돌이 없으면 다행이지만, 충돌이 일어나면 어떻게 해결해야 할까?
그럴 때에는 다음 글을 참고하자.

https://codingworld2002.tistory.com/183

 

깃 충돌 해결법

개발자끼리 깃, 깃허브로 그룹 프로젝트를 하거나 혹은 회사에서 협업을 할 때에 깃허브를 이용하게 된다. 이때 "머지"를 이용해서 코드를 합치게 될 건데, 이러한 방향성에서 깃이 충돌하는 경

codingworld2002.tistory.com

(사실 merge 이 녀석이 제일 문제 이긴 함...)

🚫 주의

잘 보면 merge를 하기 전에 pull을 하는 것을 알 수 있다. 이 습관을 가지고 있어야 충돌 확률을 그나마 낮출 수 있다. 깃 충돌을 해결하는 것은 생각보다 빡치기(?) 때문에 꼭 유의하자. 


깃 현재 상태 확인.

지금 깃의 상태를 확인하고 싶다면 다음 명령어를 쓰면 된다.

git status

이 정도로 일단 명령어들을 얼추 정리해 보았다. 몇 가지 추가되거나 수정될 수 있다.

추가적인 것은 다음 글들을 참고해도 좋아 보인다.

https://velog.io/@delilah/GitHub-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C

 

[GitHub] Git 명령어 모음

_ # INDEX _ _ Git 명령어 _ 명령어 | 명령어 | 내용 설명 | |:----------:|:----------:| | $ git init | .git 하위 디렉토리 생성 | | $ git add 파일명 | 수정사항 중, 커밋에 추가 | | $ gi

velog.io


https://wecandev.tistory.com/152#google_vignette

 

[Git] 자주 쓰는 Git 명령어 정리

1. 시작하며 자주 쓰는 git 명령어를 git commands cheat sheet 를 참고하여 정리해보자. 자세한 내용은 언제나 그렇듯이 내 블로그보다는 공식 사이트를 확인하는 것이 좋다. git으로 새로운 프로젝트를

wecandev.tistory.com


공식 문서 >

https://git-scm.com/book/ko/v2/%ec%8b%9c%ec%9e%91%ed%95%98%ea%b8%b0-%eb%b2%84%ec%a0%84-%ea%b4%80%eb%a6%ac%eb%9e%80%3F

 

Git - 버전 관리란?

1.1 시작하기 - 버전 관리란? 이 장에서 설명하는 것은 Git을 처음 접하는 사람에게 필요한 내용이다. 먼저 버전 관리 도구에 대한 이해와 Git을 설치하는 방법을 설명하고 마지막으로 Git 서버를 설

git-scm.com