🌿 중급 개발도구
Git Flow가 뭔가요?
쉽게 이해하기
여러 명이 한 문서를 동시에 수정하면 충돌이 생기잖아요. Git Flow는 '기획안 쓸 사람은 이 파일, 디자인 할 사람은 저 파일에 작업하고, 다 되면 최종본에 합치자'처럼 작업 공간을 나누는 규칙이에요.
핵심 정리
브랜치를 체계적으로 나누어 여러 사람이 협업할 때 코드가 엉키지 않게 하는 Git 사용 전략이에요.
자세히 알아보기
Git Flow는 Vincent Driessen이 제안한 브랜치 관리 전략이에요. main(또는 master), develop, feature, release, hotfix 브랜치로 역할을 나누어 관리하죠. main은 배포 가능한 안정 버전만 있고, develop은 다음 버전을 준비하는 통합 브랜치예요.
실무에서는 새 기능을 만들 때 develop에서 feature/login-form 같은 브랜치를 따고, 작업이 끝나면 다시 develop으로 머지해요. develop에 여러 기능이 모이면 release/v1.2.0 브랜치를 만들어 최종 테스트를 하고, 문제없으면 main으로 머지하고 배포하죠. 배포 후 긴급 버그가 생기면 hotfix 브랜치로 빠르게 수정해요.
Git Flow의 장점은 역할이 명확하다는 거예요. '지금 개발 중인 기능은 develop에, 배포된 버전은 main에'처럼 브랜치만 봐도 상태를 알 수 있죠. 릴리즈 준비 중일 때도 다른 개발자는 develop에서 계속 새 기능을 개발할 수 있어요.
하지만 브랜치가 많아서 복잡하다는 단점도 있어요. 요즘은 더 간단한 GitHub Flow(main과 feature만 쓰는 방식)나 GitLab Flow를 쓰는 팀도 많아요. 특히 CI/CD로 자주 배포하는 팀은 Git Flow가 과하다고 느끼죠. 프로젝트 특성에 맞게 선택하면 돼요.