본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
Section 14.1: 새로운 브랜치를 만들고 checkout 하기
현재 브랜치에서 이동하지 않으면서 새로운 브랜치를 만들고 싶다면, 아래 명령어를 이용한다:
git branch <name>
일반적으로, 브랜치 이름은 공백을 포함하여서는 안되며 이 장에서 소개되는 각종 명세사항 (specification) 을 따라야 한다. 현재 존재하고 있는 브랜치로 전환하고자 하면 아래와 같이 입력한다:
git checkout <name>
새로운 브랜치를 생성하고 바로 해당 브랜치로 전환하려면:
git checkout -b <name>
현재 브랜치의 가장 마지막 커밋 (HEAD 라고도 알려져 있는) 가 아닌 특정 커밋을 시작점으로 하는 브랜치를 생성하로 싶다면, 아래 명령어 중 하나를 이용한다:
git branch <name> [<start-point>]
git checkout -b <name> [<start-point>]
git checkout -b <name> some_other_branch
git checkout -b <name> af295
git checkout -b <name> HEAD~5
git checkout -b <name> v1.0.5
원격 브랜치로부터 로컬 브랜치를 생성하려면 (<remote_name> 의 기본값은 'origin' 이다):
git branch <name> <remote_name>/<branch_name>
git checkout -b <name> <remote_name>/<branch_name>
만약 해당 브랜치 이름이 원격에만 존재하고 로컬에는 아직 존재하지 않는다면, 아래와 같이 간단하게 입력할 수도 있다.
git checkout -b <branch_name>
위 명령어는 아래 명령어와 동일한 효과를 갖는다.
git checkout -b <branch_name> <remote_name>/<branch_name>
가끔씩은, 최근 몇가지의 커밋들을 새로운 브랜치로 이동시킬 필요가 있을 수 있다. 이는 현재 브랜치에서의 브랜치 생성 후 "되돌리기"(rolling back) 를 통해 달성할 수 있다:
git branch <new_name>
git reset --hard HEAD~2 # Go back 2 commits, you will lose uncommitted work.
git checkout <new_name>
위 명령어의 실행 과정을 도식화하면 아래와 같다:
초기 상태:
A-B-C-D-E (HEAD)
↑
master
`git branch <new_name>` 실행 직후:
newBranch
↓
A-B-C-D-E (HEAD)
↑
master
`git reset --hard HEAD~2` 실행 직후:
newBranch
↓
A-B-C-D-E (HEAD)
↑
master
[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)
반응형
'번역 > Git Notes for Professionals' 카테고리의 다른 글
14.3: 원격 브랜치 삭제하기 (0) | 2019.11.21 |
---|---|
14.2: 브랜치들의 목록 나열하기 (0) | 2019.11.20 |
14: 브랜치 활용하기 (0) | 2019.11.19 |
13.9: 프록시 설정하기 (0) | 2019.11.18 |
13.8: 하나의 명령어에 대해서만 환경 설정값 적용하기 (0) | 2019.11.18 |