-
Git Branch 전략Computer Science 2024. 2. 18. 23:31728x90
Git flow
- Main Branch
- Feature Branch
- Release Branch
- Hotfix Branch
가장 중심이 되는 브랜치는 master와 develop 브랜치이며,
Merge된 feature, release, hotfix 브랜치는 삭제하도록 한다.
Main branch
- Master
- 배포 가능한 상태만을 관리하는 브랜치
- Develop
- 다음에 배포할 것을 개발하는 브랜치
- 통합 브랜치의 역할을 하며, 평소에는 이 브랜치를 기반으로 개발을 진행
Supporting branch
- Feature
- 기능을 개발하는 브랜치로, develop 브랜치로부터 분기
- 그 기능을 다 완성할 때까지 유지하고, 다 완성하면 develop 브랜치로 merge(다음 배포에 확실히 넣을 거라고 merge, 결과가 실망스러우면 아예 버린다)
- Feature 브랜치는 보통 개발자 저장소에만 있는 브랜치고, origin에서는 push하지 않는다
기존에 잘 작동하는 개발 코드(develop 브랜치)와 새로 변경될 개발코드(feature 브랜치)를 분리하고 각각 보존하는 것
Feature 브랜치는 git-flow 전략에서 지칭하는 단위 개발 브랜치의 의미를 갖는다
- Release
- Develop 브랜치에 이전 버전에 포함되는 기능이 merge 되었다면 QA를 위해 develop 브랜치에서부터 release 브랜치를 생성
- 배포를 위한 최종적인 버그 수정 등의 개발을 수행
- 배포 가능한 상태가 되면 master 브랜치로 병합시키고, 출시된 master 브랜치에 버전 태그를 추가
- Release 브랜치에서 기능을 점검하며 발견한 버그 수정 사항은 develop 브랜치에도 적용해주어야 함! 그러므로 배포 완료 후 develop 브랜치에 대해서도 merge 작업을 수행
- Hotfix
- 배포한 버전에서 긴급하게 수정할 필요가 있는 경우 master 브랜치에서 분기하는 브랜치
- 버그를 잡는 사람이 일하는 동안에도 다른 사람들은 develop 브랜치에서 하던 일을 계속 할 수 있다
- 이 때 만든 hotfix 브랜치에서의 변경 사항은 develop 브랜치에도 merge하여 문제가 되는 부분을 처리해주어야 함
728x90'Computer Science' 카테고리의 다른 글
[CS] RAID (0) 2024.07.08 [CS] Persistent Data structure (0) 2024.07.05 SettingWithCopyWarning (1) 2023.11.24 방화벽 (0) 2023.11.05 데이터베이스 관련 정리 (0) 2023.11.05