Git을 사용하는 동안 브랜치를 효과적으로 관리하기 위한 방법론으로, 팀의 협업 방식과 개발 프로세스에 맞게 브랜치를 만들고 관리함으로써 개발 생산성을 향상시키고 충돌을 최소화한다
Git Flow
- 가장 보편화 된 브랜치 전략
- feature / develop / release / hotfix / master(main) 총 5가지의 브랜치
- feature
- develop 브랜치에서 파생
- 기능 개발 단위의 브랜치
- develop
- master 브랜치에서 파생
- 기능 개발 또는 수정된 브랜치를 통합하는 브랜치
- release
- develop 브랜치에서 파생
- 운영에 배포되기 위한 브랜치
- hotfix
- master 브랜치에서 파생
- 운영에서 생기는 버그를 수정하기 위한 브랜치
- 수정되면, develop 브랜치와 master(main) 브랜치에 병합
- 병합되면, master(main) 브랜치에 tag로 버전 관리
- master(main)
- 운영되고 있는 브랜치
- feature
Github Flow
- feature branches
- master 브랜치에서 파생
- 어떤 브랜치인지 명칭을 명확하게 작성 필요
- pull request로 review 후 master 브랜치에 병합
- master(main)
- 항상 최신 상태의 운영 버전의 브랜치
- 다른 브랜치로부터 병합 되었을 시 CI/CD 진행
Gitlab Flow
- feature branches
- master(main) 브랜치로부터 파생
- 기능 단위의 브랜치
- master(main)
- git flow의 develop 브랜치 역할
- 기능 개발 또는 수정된 브랜치를 통합하는 브랜치
- preproduction
- 운영에 배포되기 전 스테이지의 브랜치
- master로부터 병합
- 운영 환경에 맞게 추가/삭제 가능
- production
- 운영 버전의 브랜치
e.g.) 브랜치전략 생명주기 - https://bskyvision.com/entry/git-feature-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EC%83%9D%EB%AA%85-%EC%A3%BC%EA%B8%B0life-cycle-%EC%A0%95%EB%A6%AC
'GIT' 카테고리의 다른 글
gitmoji (0) | 2023.05.19 |
---|---|
Pull Request Templat (0) | 2023.02.12 |
CODEOWNERS (0) | 2023.02.12 |
.gitignore cache (0) | 2023.01.01 |
명령어 정리 (0) | 2020.12.26 |