여러 개발자가 하나의 저장소에 작업을 할 때, 협업을 좀 더 효과적으로 하기 위해 git branch 에 대한 규칙을 정하고 저장소를 잘 활용하기 위한 workflow 를 정의하는 것을 바로 git branch 전략이라고 한다.
그 중에서도 대표 브랜치 전략인 flow에 대해서 알아보자.
Git Flow는 소프트웨어 개발에서 Git을 사용하여 브랜치를 관리하는 대표전략 중 하나로, 팀의 협업을 효율적으로 지원한다. 이 전략은 명확한 브랜치 구조를 제공하여 개발, 배포, 유지보수를 체계적으로 관리할 수 있게 해준다.
브랜치 종류
Main (혹은 Master) | Develop | Feature | Release | Hotfix |
제품 출시 버전을 관리하는 메인 브랜치 | 다음 출시 버전을 위해 개발하는 브랜치 | 새로운 기능을 개발하는 브랜치 | 다음 출시 버전을 준비하는 브랜치 | 출시된 제품의 버그를 고치기 위한 브랜치 |
특징 및 장점
1. 명확한 브랜치 구조: 각 브랜치의 용도와 역할이 명확하게 정의되어 있어 협업이 용이
2. 효율적인 작업 관리: 기능 개발, 버그 수정, 배포 준비 등의 작업이 체계적으로 관리된다.
3. 릴리즈 준비 과정의 독립성: 릴리즈 준비와 기능 개발이 독립적으로 진행될 수 있어, 안정성을 높인다.
4. 버전 관리 용이: 각 릴리즈 버전이 명확하게 관리되어, 이전 버전으로의 롤백이 쉬워진다.
*릴리즈(Release) : 특정 버전의 소프트웨어를 공식적으로 배포하거나 공개하는 과정
*롤백(Rollback) : 특정 변경 사항이나 상태를 이전 버전으로 되돌리는 과정
단점
1. 복잡성: 브랜치가 많아질수록 관리가 복잡해 작은 팀이나 간단한 프로젝트에는 과도할 수 있다.
2. Git Flow의 개념을 이해하고 적용하는 데 시간이 필요다.
+여담, 또 다른 대표 브랜치 전략
GitHub Flow는 Git Flow보다 훨씬 단순하며, 빠른 배포와 지속적인 통합(CI/CD)에 초점을 맞춘 브랜치 전략이다. 이 전략은 'master' 브랜치 하나와 기능별 'feature' 브랜치를 사용하는 것이 전부다. 왜냐하면 GitHub Flow는 코드 변경 사항을 빠르게 배포하고, 팀원 간의 협업을 간소화하기 위해 설계되었기 때문
특빠른 반복 개발과 배포가 필요한 스타트업이나 소규모 팀에 적합하고, 간단한 구조 덕분에 새로운 팀원도 빠르게 적응할 수 있으며, 배포 과정의 단순화로 인해 개발에 더 집중할 수 있다.
'코린이 개념잡기 > GIT' 카테고리의 다른 글
Git branch merge 방법 (0) | 2024.12.13 |
---|---|
HEAD와 branch의 관계 (0) | 2024.12.09 |
branch (0) | 2024.12.09 |
커밋 다루기 (0) | 2024.12.08 |
커밋 메시지 작성하기 (1) | 2024.12.08 |