본문 바로가기
App Programming/Git

[Git] Branch 사용하기 (1)

by goatlab 2022. 9. 5.
728x90
반응형
SMALL

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 (빨리감기) 병합'이라고 한다.

728x90
반응형
LIST