Branching Models - 🐥 카카오 테크 캠퍼스
Git Flow
- (hotfix)- master -(release)- develop - feature
- Hotfix
- Master 브랜치에서 생성 되어 치명적인 버그를 해결합니다
- 버그 수정이 완료되면, Develop이나 Master에 병합됩니다
- Release
- 프로덕션에 배포되기 전에 최종 테스트 및 버그 수정에 사용 됩니다
- 릴리스가 완료되면 릴리스 분기가 Develop 및 Master 분기에 다시 병합됩니다
- 새 릴리스가 준비되면 Develop 브랜치에서 릴리스 브랜치가 생성 됩니다
- Develop
- 현재 진행 중인 개발 작업을 위한 메인 브랜치입니다
- 여러 기능 분기의 변경 상항을 통합하고 코드 베이스가 작동 상태인지 확인하는데 사용됩니다
- 개발자는 기능 브랜치에서 작업하고, 풀 리퀘스트를 사용하여 변경 사항을 Develop으로 합칩니다
- Feature
- 새로운 기능을 만들기 위해 Develop 브랜치에서 생성 됩니다
- 기능 구현이 끝나면, Develop 분기로 다시 병합됩니다
장점
- Hotfix
- 명확한 브랜치 구조
- Git 흐름에는 잘 정의된 브랜치 구조가 있어 개발자가 각 브랜치의 목적과 브랜치 간의 변경 흐름을 쉽게 이해할 수 있습니다.
- 병렬 릴리스 지원
- Git 흐름을 통해 개발자는 여러 릴리스를 병렬로 작업할 수 있으므로 개발 주기가 긴 프로젝트나 생산 중인 여러 버전이 있는 프로젝트에 유용합니다.
- 각 릴리스는 개별적으로 태그가 지정되고 테스트되어 명확한 버전 제어를 제공하고 버그 위험을 줄입니다.
- 코드 검토 및 테스트 적용
- Git 흐름은 메인 브랜치에 병합되기 전에 풀 요청 및 검토 프로세스를 거치기 위해 코드 변경이 필요합니다.
- 이렇게 하면 코드가 릴리스되기 전에 여러 개발자가 코드를 검토하고 철저하게 테스트할 수 있습니다.
단점
- 복잡하고, 릴리즈 주기가 깁니다
Github Flow
GitHub 흐름은 Git 및 GitHub와 잘 작동하도록 설계된 경량의 분기 기반 워크플로입니다.
소규모 팀 및 프로젝트에 적합한 Git 흐름에 대한 더 간단하고 유연한 대안입니다.
- master - feature
- Master
- Github Flow는 기능 개발 할 때 분기 후 바로 마스터 브랜치에 병합을 합니다
- 브랜치 병합시 코드 검토 및 테스트 프로세스를 트리커하여 철저히 검사합니다
- Master
- 장점
- 브랜치 모델 단순화
- master 의 모든 커밋은 deployable
- 단점
- CI 의존성 높음
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
'ETC' 카테고리의 다른 글
IntelliJ 초기 설정 - VSCODE를 떠나며 (0) | 2023.05.03 |
---|---|
Git으로 똑똑한 협업하는 방법 - 🐥 카카오 테크 캠퍼스 (2) | 2023.05.02 |
Mac OS에 설치 된 모든 파이썬 패키지 삭제하는 방법 (2) | 2023.04.26 |
🐥 카카오 테크 캠퍼스 - Git Branch (0) | 2023.04.24 |
Github Actions (0) | 2023.04.24 |