버전관리에 대해 아무것도 모르는 아기새 5마리가 모여서 나름대로 브랜치전략을 짜서pr을 날리고 그것들을 pull을 받는순간.... 어마무시한 에러들이 발생했다.
조장님: 어,,,,이거 왜이래,,,왜이래
나: 왜요???
조장님: pull받아서 merge할라니까 conflict가 뭐어쩌고..저쩌고하는데요?
나: ...
브랜치전략이 잘못 이해하고 있었던게 원인이였다.
서로 다른 브랜치에서 같은 곳을 바라보며 작업을 했으니...
하나로 합쳤을 땐 A가 작성한 코드가 맞는지, B가 작성한 코드가 맞는지를 판단할 수 없는 것 이였다.
그래서 이번엔 브랜치전략에 대해 회고하면서 글을 써보려고 한다.
Git-flow는 Git이 새롭게 활성화되기 시작하는 10년전 쯤에 Vincent Driessen이라는 사람의 블로그 글에 의해 널리 퍼지기 시작했고 현재는 Git으로 개발할 때 거의 표준과 같이 사용되는 방법론입니다.
말하자면 Git-flow는 기능이 아니고 서로간의 약속인 방법론이라는 점입니다. Vincent Driessen도 언급했듯이 Git-flow가 완벽한 방법론은 아니고 각자 개발 환경에 따라 수정하고 변형해서 사용하라고 언급했습니다.
master와 develop가 중요한 매인 브랜치이고 나머지는 필요에 의해서 운영하는 브랜치라고 보시면 됩니다.
위의 글을 토대로 이런 순으로 버전관리접근을 수정했다.
1 이후, 2->3->4->5의 반복순으로 작업했다.