본문 바로가기

[빠르게 git] Branch를 이용한 협업

codeConnection 2024. 3. 15.

개념

협업의 전통적인 방법

기존에는 협업을 할 때 역할을 나눈 개발자들이 각자의 소스코드를 작성해서 소스코드 파일을 주고 받아 하나로 합치는 작업을 했다.
그런데 이 과정에서 상대방의 소스코드와 내 소스코드를 합치려면 상대방의 소스코드와 충돌이 나지 않는지, 겹치는 부분은 없는지 모든 소스코드를 확인해야 했기 때문에 내가 작업한 코드 이외에도 상대방의 소스코드를 전체를 이해해야 하는 번거로움이 더해졌었다.

Branch를 이용한 협업

Branch는 나뭇가지를 말한다. 하나의 나무에 여러 나뭇가지가 있는 것처럼 각자 맡은 파트를 개발자들은 나뭇가지를 만들듯이 그 나뭇가지에서만 만들고 Git 통해서 하나로 합치면 된다.
이렇게 되면 파트별로 분야를 나누어 공간을 나누면서 작업할 수 있는 장점이 있다.

예를 들어 게임 개발의 경우 신무기 10종을 새롭게 업데이트 했는데 이 중 일부가 반응이 안 좋거나 밸런스를 파괴한다는 지적이 있어 다시 삭제를 해야 할 때 과거에는 전체 소스코드를 수정해야 했고 이런 과정에서 의도치 않게 다른 소스코드까지 건드려서 Side Effect를 발생시킬 수도 있었다.
하지만 Branch 작업 방식을 선택하면 10개의 Branch를 생성하여 각각의 무기를 만들고 문제가 되는 해당 Branch만 삭제하거나 수정하면 되기 때문에 협업이 훨씬 편리해진다.

활용 방법

git init으로 repository로 초기화하면 다른 branch들이 뻗어 나가는 master branch로 설정되게 된다.

한 번 이상 commit되어야 branch로 설정 가능하다.

기본 명령어

Master branch로 설정하기

git branch

위 코드는 master branch로 설정하는 명령어이자, master branch 설정 이후에는 내가 이 branch에서 생성한 branch들의 목록을 보여주는 명령어이기도 하다.

새 branch 만들기

git branch <새 branch 이름>

특정 branch 접속하기

git branch를 쓰면 현재 접속 중인 디렉토리가 표시되는데 * master로 되어 있을 것이다. 내가 새로 생성한 branch로 접속하기 위해서는 아래의 명령어를 사용한다.

git checkout <접속할 branch명>

입력하고 switched to branch '브랜치명'이 출력되면 정상적으로 접속한 것이다.

병합하기 (merge)

branch를 생성했다면 그 branch에서 별도의 작업을 할 수 있는 공간이 생긴 것이다.
여기서도 새롭게 init, add, commit 작업을 해주어야 한다.

여기서 작업을 하고 나서 협업의 파일들을 병합할 때 어느 branch에 있는 파일을 병합할 것인지 명확히 규정해야 한다.

예를 들어 branch_1에서 작업한 내용을 master branch에 병합하고 싶다면 터미널에서 git checkout master로 디렉토리를 합치고자 하는 branch로 옮겨서 아래의 명령어를 입력한다.

git merge <합칠 브랜치명>

댓글