Git Flow
복잡한 프로젝트 관리를 위해 여러브랜치를 사용하는 전략이다.
장점 : 뚜렷한 브랜치 구조는 대규모 팀이나 프로젝트에 적합하고, 버전 관리와 출시가 용이하다.
단점 : 복잡하고 브랜치 관리가 어려울 수 있으며, 작은 프로젝트나 빠른 개발 사이클에는 비효율적일 수 있다.
GItHub Flow
단순화된 방식으로, main 브랜치 하나와 기능 브랜치들로 구성된다. 모든 변경사항은 main 으로 병합되기 전에 리뷰된다.
장점 : 단순하고 이해하기 쉬우며, 지속적인 배포와 통합에 적합하다.
단점 : 매우 크고 복잡한 시스템에서는 충분한 구조를 제공하지 않을 수 있다.
GitLab-flow
위의 두 전략의 장점을 결합하여 환경에 따라 코드를 배포하는 유연한 전략이다.
장점 : 유연하며 다양한 배포 환경에 적응할 수 있다. 코드 관리와 릴리스가 분리되어 있어 안정성을 높일 수 있다.
단점 : 설정과 관리가 복잡할 수 있으며, 전략을 완전히 이해하고 적용하기 위해서는 경험이 필요할 수 있다.
요약 및 정리
전략 | 브랜치 구조 | 주 사용 사례 | 장점 | 단점 |
Git Flow | master, develop, feature, release, hotfix | 대규모 프로젝트, 복잡한 릴리스 사이클 | 체계적인 브랜치 관리 가능 | 설정 및 관리 복잡성 |
GitHub Flow | main, feature, | 지속적인 배포와 통합, 단순 프로젝트 | 간단하고 빠른 개발사이클에 적합 | 대규모, 복잡한 시스템 관리에 한계 |
GitLab | master, pre-production, production | 다양한 배포 환경, 유연한 워크 플로우 필요 | 환경별 코드 배포 가능 | 초기 설정이 복잡하며 유지 관리에 노력이 필요 |
참고자료
'프로그래밍 > Git & GitHub' 카테고리의 다른 글
[ git ] Pull Request 를 잘 못하고 close 한 경우 되돌리는 방법 (0) | 2024.06.11 |
---|---|
[ git ] 커밋 메세지 컨벤션 (0) | 2024.06.09 |
[ git ] Push 한 것 되돌리기 (1) | 2024.01.16 |
[ Git ] 브랜치 이름 바꾸는 방법 (0) | 2024.01.09 |
[ Git ] 다른 브랜치에 squash merge (0) | 2024.01.09 |