Git Flow: 협업을 위한 효과적인 Git 브랜치 전략 이해하기

jsonLee·2023년 8월 18일
0
post-thumbnail

1. Git Flow란?

Git Flow는 Vincent Driessen이 제안한 git의 브랜치 관리 전략 중 하나입니다. 이 전략은 프로젝트의 규모나 특성에 관계없이 안정적인 배포와 지속적인 개발을 동시에 관리할 수 있는 방법을 제공합니다.

2. Git Flow의 주요 브랜치

  • Main: 프로덕션에 배포될 준비가 된 상태의 코드를 관리합니다.
  • Develop: 다음 버전의 기능 개발을 위한 주 브랜치입니다.

3. 지원 브랜치

  • Feature branches: 새로운 기능 개발을 위한 브랜치. 일반적으로 develop에서 분기하고, develop로 병합합니다.
  • Release branches: 새로운 프로덕션 릴리즈 준비를 위한 브랜치. 버그 수정, 메타 데이터 준비 등의 작업이 이루어집니다.
  • Hotfix branches: master에서 발견된 버그를 긴급히 수정하기 위한 브랜치입니다.

4. Git Flow의 장점

명확한 브랜치 전략으로 인해 복잡한 프로젝트에서도 명확하게 개발을 진행할 수 있습니다.
릴리즈 및 핫픽스 관리가 용이합니다.
여러 개발자와의 협업에서 발생할 수 있는 문제점을 최소화합니다.

5. 실제 Git Flow 사용 시나리오

bash: 
# 기능 추가를 위한 브랜치 생성
git switch -c feature/newFeature develop

# 기능 개발 후 Develop 브랜치에 병합
git switch develop
git merge feature/newFeature

# 릴리즈 브랜치 생성
git switch -c release/1.2.0 develop

# Master와 Develop에 릴리즈 브랜치 병합
git switch master
git merge release/1.2.0
git switch develop
git merge release/1.2.0

6. 결론

Git Flow는 팀원 모두가 Git을 일관된 방식으로 사용하도록 안내하는 강력한 도구입니다. 프로젝트의 복잡성을 관리하고, 협업의 효율성을 높이는 데 큰 도움을 줍니다.

REFERENCE

https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
https://m.blog.naver.com/adamdoha/222712473510

profile
풀스택 개발자

0개의 댓글