티스토리 뷰

우리는 협업을 할 때, Github를 제대로 다루어야 한다. 지난 번 "Branch"의 필요성과 생성에 대해 학습했다. 이번 시간에는 Branch를 생성한 이 후에 대해 학습하는 시간을 가져보려고 한다. Branch를 생성해 새로운 기능을 구현하거나 "Debug" 등 작업을 한 이후 "Master Branch"에 합치는 작업을 해줘야 한다. 그래서 합치는 작업을 어떻게 해야 하는지 학습하려고 한다.

 

Merge into current branch

"Master Branch"를 바탕으로 새로운 기능 개발 혹은 버그를 고친다고 할 때, 새로운 "Branch"를 생성해 진행한다. 이 후, 개발을 다 마치고 이를 "Master Branch"에 병합해 새로운 버전을 만든다고 해보자. 이 때, 우리는 "Merge into current branch"를 활용할 수 있다. "Merge into current branch"를 통해 Master Branch에 해당 기능을 브랜치(Branch)에 병합한다. 이 후, 필요하지 않은 브랜치(Branch)는 제거(Delete)를 할 수 있다.

 

Master Branch에서 작업한 내용들은 해당 브랜치에 있고, Exp Branch에서 작업한 내용들은 Exp Branch에 있다. 우리는 이것을 합쳐주어야 한다고 했을 때, 어떻게 할 수 있을까?

여기서 병합할 때, 우리는 Master가 Exp를 병합하는 것이지, Exp가 Master를 병합하는 것이 아니다. 왜냐하면, Exp는 실험적인 브랜치이기 때문이다.

 

우선, 우리는 "Master Branch"로 "Checkout"해야 한다. 그리고 나서 병합하려는 "Exp Branch"에 오른쪽 마우스 클릭을 하고 "Merge into current branch"를 클릭하면 원하는 작업을 할 수 있다.

Merge into current branch

 

위 처럼, "Master Branch"를 기준으로 병합을 시도하면 우리는 병합이 된 모습을 확인할 수 있다.

after Merge into current branch

위의 이미지에서 보이듯이, Git Graph에서 병합이 완료된 것을 확인할 수 있고, 작업 영역에서 "Exp Branch"에서 작업한 'exp.txt'가 들어와 있는 것을 확인할 수 있다.

 

그리고 우리는 실험적인 브랜치를 삭제할 수 있다. 물론, 삭제를 하지 않아도 되지만, 여기에서는 삭제를 진행하는 학습을 하려고 한다.

Delete Branch

위 처럼, 삭제하려는 브랜치에 오른쪽 마우스 클릭하여 "Delete Branch"를 클릭하면 삭제를 할 수 있다.

 

위의 내용을 터미널에서 작업할 수 있다.

우선, 브랜치를 생성하는 동시에 Checkout도 하기 위해서는 아래와 같이 작성할 수 있다.

$ git checkout -b 브랜치명

 

위의 명령어를 따로 진행한다고 한다면, 다음과 같다.

$ git branch 브랜치명
$ git checkout 브랜치명

 

그리고 우리는 병합을 해주어야 하니, 그 과정도 터미널에서 작업을 해야 한다.

$ git branch master
$ git merge 브랜치명

 

 

Git - 브랜치와 Merge 의 기초

Merge 시에 발생한 충돌을 다루는 더 어렵고 요상한 내용은 뒤에 고급 Merge 에서 다루기로 한다.

git-scm.com

 

'프로그래밍 지식 > Git' 카테고리의 다른 글

[Git 협업] Conflict  (0) 2023.05.30
[Git 협업] Co-working  (0) 2023.05.30
[Git 기본] Create Branch  (0) 2023.05.30
[Git 기본] Git Remote  (0) 2023.05.28
[Git 기본] Git Checkout  (0) 2023.05.28