같은 뿌리에서 나왔지만 다른 기능을 구현할 수 있는 기능
하나의 저장소 안에 공통의 작업을 공유하면서도 각자 자신의 작업을 가지는 평행 우주를 가질 수 있다.
기본적으로 master Branch가 생성된다.
Branch와 Branch를 병합할 때 나타날 수 있는 충돌 현상 -> 같은 파일의 같은 부분의 변경이 충돌할 때 발생
Branch와 Branch를 병합하는 기능
Git은 충돌이 나지 않는 곳은 3-way-merge 기법을 이용하여 자동으로 병합하고 충돌이 나는 곳은 알려주어 사용자가 직접 수정하도록 한다.
Branch들의 공통의 조상을 Base로 지정하고 Base와 두 Branch를 비교하여 충돌이 일어나지 않는 곳은 자동으로 병합하고 충돌이 일어나는 곳은 사용자가 직접 수정하도록 한다.
이를 통해 2-way-merge 기법보다 훨씬 더 많은 부분을 자동으로 병합할 수 있도록 한다.
git workflow를 검색하여 git flow의 모범사례를 보고 좋은 협업의 과정을 알 수 있다.
cherry-pick(부분 병합) 기능도 있으니 참고하면 좋다.
rebase 기능은 효과는 Merge와 같지만 타임라인은 한 줄로 깔끔히 정리할 수 있는 기능이다.