13.2.4 깃 가지치기
깃을 사용하면 프로젝트 협업이 가능합니다. 공동 작업자가 각자 독립된 영역에서 코드를 변경하고, 작업이 끝나면 원래 버전과 비교해서 새로운 버전을 만들어 낼 수 있기 때문입니다. 기존 작업에서 갈라져 독립적으로 작업을 진행하는 개념을 가지치기(branch)라고 합니다.
git init 명령으로 저장소를 생성하면 기본적으로 master 가지가 만들어지고 커밋을 할 때마다 새로운 가지가 자랍니다. 각 커밋은 ID로 구분합니다. 앞 예제에서 failure.txt를 생성한 최초 커밋은 bc8d4f5, failure.txt 내용을 수정한 커밋은 5aba677이며 현재 master 가지는 5aba677 커밋을 가리키는 상태입니다(그림 13-5).
▲ 그림 13-5 master 가지의 상태
기존 작업과 별도로 어떤 일을 처리하고자 다른 가지를 만들 수 있습니다. 새로운 가지는 기존 작업에 영향을 미치지 않고 독립적으로 진행합니다. 새로운 가지를 만드는 명령은 git branch입니다. 예를 들어 새로운 파일을 작성하는 작업을 master 가지에서 분리해서 newfile 가지에서 처리할 수 있습니다.
administrator@vmgate:~/gittest$ git branch newfile