Branch 사용하기
branch를 사용하기 위해 먼저, Git 저장소를 만들어야 한다. 또는 git clone을 통해서 만들 수 있다. tutorial이라는 이름으로 새 폴더를 만들고 Git 저장소로 지정한다.
$ mkdir tutorial
$ cd tutorial
$ git init
tutorial 폴더에 myfile.txt라는 이름으로 파일을 만든 후 커밋한다.
$ git add myfile.txt
$ git commit -m "first commit"
Branch 만들기
'project1'이라는 이름으로 새로운 브랜치를 작성한다. 브랜치는 branch 란 명령어로 만들 수 있다.
# $ git branch <branchname>
$ git branch project1
옵션을 지정하지 않고 branch 명령어를 실행하면 브랜치 목록 전체를 확인할 수 있다. 앞 부분에 * 이 붙어있는 것이 현재 선택된 브랜치이다.
$ git branch
project1
* master
Branch 전환하기
앞에서 새로 만든 'project1'라는 이름의 브랜치를 사용하여 어떤 작업을 수행하려면, 이 브랜치를 사용하겠다고 명시적으로 지정해 주어야 한다. 이때, 사용하는 명령어가 바로 checkout이다. 체크아웃 (checkout)이란, 내가 사용할 브랜치를 지정하는 것을 의미한다. 다음과 같이 checkout 명령어 뒤에 사용할 브랜치 이름을 입력하면 된다.
# $ git checkout <branch>
$ git checkout project1
Switched to branch 'project1'
checkout 명령에 -b 옵션을 넣으면 브랜치 작성과 체크아웃을 한꺼번에 실행할 수 있다.
$ git checkout -b <branch>
'project1' 브랜치를 체크아웃한 상태에서 커밋을 수행하면, 'project1' 브랜치에 그 이력이 기록된다. mylife.txt에 문장을 추가한 후에 커밋한다.
$ git add myfile.txt
$ git commit -m "add 설명 추가"
commit 명령어에 -m 옵션을 넣으면 커밋 설명을 포함시킬 수 있다.
Branch 병합하기
'project1' 브랜치의 변경 사항을 'master' 브랜치에 병합할 수 있다. 브랜치 병합은 merge 명령어로 실행한다. 이 명령어에 병합할 커밋 이름을 넣어 실행하면, 지정한 커밋 내용이 'HEAD'가 가리키고 있는 브랜치에 넣어진다. 'HEAD'는 현재 사용중인 브랜치에 위치하게 된다. 'project1' 커밋에 'HEAD'가 위치하는 것이다.
$ git merge <commit>
'master' 브랜치에 'project1'을 넣기 위해서는 우선 'master' 브랜치에 'HEAD'가 위치하게 만들어야 한다. 이때에는 checkout 명령어를 이용하여 현재 사용중인 브랜치를 'master'로 전환한다.
$ git checkout master
Switched to branch 'master'
$ git merge project1
Updating 1257027..b2b23c4
Fast-forward
myfile.txt | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
이제 'master' 브랜치가 가리키는 커밋이 'project1'과 같은 위치로 이동했다. 이런 방식의 병합을 'fast-forward (빨리감기) 병합'이라고 한다.
'App Programming > Git' 카테고리의 다른 글
[Git] branch, commit 복구하기 (0) | 2022.09.26 |
---|---|
[Git] Branch 사용하기 (2) (0) | 2022.09.06 |
[Git] fatal: Need to specify how to reconcile divergent branches (0) | 2022.08.26 |
[GitHub] Authentication failed (0) | 2022.08.26 |
[Git] 'git'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. (0) | 2022.04.22 |