개발자
류준열

Git Flow 만든 사람이 Git Flow 쓰지 말라 한 거 아세요?

첫 회사에서 Git Flow로 개발을 했는데 버전 2.1.0을 개발하는 동안 main에 hotfix들과 2.0.xx들이 쌓이다보면 2.1.0과의 충돌이 너무 심했다. 이런 경우 때로는 리베이스가 거의 불가능하기도 했다.

따지고 보면 당시 프로젝트는 2.0.xxx와 핫픽스들이 지속해서 배포되는 제품이었다. 그렇다면 2.1.0이 매 배포 최신화 되어야 했다.

그땐 이유도 모른채 첫 팀장님이 알려주셨던 방법을 무지성으로 쓰고 있었고, 동료가 GitHub Flow를 제안했을때에도 main에 바로 꽃으면 큰일나는줄 알았다. (그 동료는 제안과 동시에 GitHub Actions로 안전장치를 만들었다.)

Vincent Driessen는 자신이 구상한 Git Flow에 회의적인 내용을 작성했다.

Git Flow는 2010년에 구상되었고 10년이 넘는 기간동안 소프트웨어 개발은 많이 변화했다.

요즘 많은 IT 제품들은 지속적인 배포를 통해 고객에게 전달되며 여러 버전으로 관리될 필요가 없다.

이건 Git Flow를 구상할 당시에 생각했던 소프트웨어 개발이 아니다. Git Flow는 과거처럼 여러 버전으로 관리되는 소프트웨어에 적합하다.

하지만 여전히 많은 팀들이 Git Flow를 표준으로 여기고 있다.

만약 팀에서 지속적 배포를 통해 고객에게 제품을 전달한다면, 팀에 Git Flow를 욱여넣기보다는 더 간단한 전략(ex: GitHub Flow)을 추천한다.