branch를 어떻게 적용할 것인가? 사례를 공부해보는 것이 좋다.
git workflow 중
git flow를 확인해보면, 개발자들에게 채택된 모범사례 규칙인(일정의 표준처럼 업무에 도움이 되는)git flow가 있다.
cherry-pick
이는 병합과 관련된 것이다.
1을 부모로 하는 master 과 other이 있다.
a3와 b2를 만들어 a4를 만들고 싶다면
cherrypick을 통해 부분적으로 병합이 가능하다.
rebase는 merge와 목표자체는 같지만, 이를 이용하는 timeline을 훨씬 깔끔하게 할 수 있다.
공통조상은 1번인데, other에서 작업한 내용을 master에서 병합(merge)하려 하면 a3 와 b3를 합친 새로운 버전으 b4가 생길텐데
rebase 는 other은 냄겨두고
순차적으로 a3와 b2를 합쳐 새로운 버전인 a4를 만들고 b3와 a4를 결합하여 a5를 만들고 master branch를 전진시킨다.
병합 효과를 내면서 timeline을 깔끔하게 유지하는 것이 가능하다.