터미널에서 Git 명령어로 branch 생성, 삭제, 변경하는 방법을 소개합니다.
1. 모든 branch 리스트 확인
git branch
는 현재 생성된 브랜치를 모든 보여주는 명령어입니다. 브랜치 앞에 *
가 있는 것이 현재 작업 중인 브랜치입니다.
$ git branch
* master
1.1 Remote branch 리스트 확인
git branch
명령어는 Local에 있는 브랜치만 보여줍니다.
만약 Remote branch도 함께 보고 싶을 때는 아래와 같이 -a
명령어를 사용하면 됩니다.
$ git branch -a
2. branch 생성
git branch <branch name>
명령어는 <branch name>
이라는 이름으로 브랜치를 생성합니다.
$ git branch dev_1
$ git branch
dev_1
* master
2.1 특정 commit을 베이스로 branch 생성
기본적으로 git branch <branch name>
은 현재 브랜치의 최신 commit을 베이스로 브랜치를 생성합니다.
만약 특정 commit을 베이스로 branch를 생성하려면 git branch <branch name> <commit id>
와 같이 commit id를 인자로 전달하면 됩니다.
아래 명령어는 f5b7a02
commit을 베이스로 dev_2
브랜치를 생성합니다.
$ git branch dev_2 f5b7a02e2657a3be8b61e1eb6e8040b9030a5945
참고로, commit id는 아래와 같이 7자만 전달해도 됩니다.
$ git branch dev_2 f5b7a02
생성된 브랜치로 체크아웃하고 가장 최신 commit을 확인하면 위에서 명령어에 입력한 commit id로 되어있습니다.
$ git checkout dev_2
Switched to branch 'dev_2'
$ git log -1
commit f5b7a02e2657a3be8b61e1eb6e8040b9030a5945 (HEAD -> dev_2)
...
3. branch 삭제
git branch -d <branch name>
명령어는 <branch name>
브랜치를 삭제합니다.
$ git branch -d dev_3
Deleted branch dev_3 (was e4d117b).
4. 작업 중인 branch 변경 (checkout)
작업 중인 브랜치를 변경하는 것을 checkout이라고 합니다.
git checkout <branch name>
는 <branch name>
브랜치로 checkout합니다.
$ git checkout dev_1
Switched to branch 'dev_1'
브랜치를 확인해보면 현재 브랜치가 변경된 것을 확인할 수 있습니다.
$ git branch
* dev_1
master
5. branch 생성과 동시에 checkout
git checkout -b <branch name>
명령어는 브랜치를 생성하고 그 브랜치로 checkout을 합니다.
$ git checkout -b dev_2
Switched to a new branch 'dev_2'
브랜치를 확인해보면 dev_2
브랜치가 생성되고 checkout된 것을 확인할 수 있습니다.
$ git branch
dev_1
* dev_2
master
6. branch 이름 변경
git branch -m <old branch> <new branch>
명령어로 브랜치 이름을 변경할 수 있습니다.
$ git branch -m dev_2 dev_new
브랜치 리스트를 보면 이름이 변경된 것을 확인할 수 있습니다.
$ git branch
dev_1
* dev_new
master
관련 문서
Related Posts
- Git Alias - 단축/커스텀 명령어 설정
- Git에서 .gitignore 설정 방법
- git clone 명령어로 원격 저장소를 로컬에 저장
- Git - 두개 commit의 차이점 확인 (코드 차이, 파일 차이)
- Git - 브랜치 이름 변경하는 방법
- Git - 특정 commit 삭제, 되돌리기 (reset, revert)
- Git - 리모트 브랜치 생성과 삭제
- GitHub에 ssh-key 등록 방법 (Windows10)
- git log - 특정 author의 commit 리스트만 출력
- git log - commit 리스트 간단하게 출력 (pretty)
- Git - revert 명령어(commit 되돌리기)
- git diff 명령어로 파일 변경 내용 확인
- git show 명령어로 commit 정보 확인
- Git - 브랜치 생성, 삭제, 체크아웃
- Git - 원격 저장소(remote) 추가, 해제
- Git - Staging 영역의 파일을 Untracked로 변경
- Git - commit log에서 수정된 파일 목록 보기
- Git - 마지막 commit 수정, 삭제 방법 (reset, amend 명령어)
- git commit message 에디터 변경 (Vim, Sublime, Atom, VSCode)
- Git - blame 명령어, 코드 수정한 사람과 Commit 찾기
- Git - Patch 파일 만들기 & 적용하기