Git, GitHub 에 관하여, 그리고
Git에서 사용하는 Branch 들에 관하여 알아보았다.
이번에는 이 Branch 들을 사용하는 개발 프로세스인 Git Flow 에 대해서 중점적으로 알아보고, 이에 파생된 GitHub Flow, GitLab Flow 등을 알아보겠다.
📌Git Flow
Vincent Driessen 이 제안한 브랜치 전략으로, 큰 규모의 프로젝트에 적합하고 명확한 구조를 제공한다.
이 전 장에 기록한 다섯 가지의 브랜치 - 메인 브랜치 (Master, Develop), 보조 브랜치 (Feature, Release, Hotfix) 브랜치들을 바탕으로 구성한다.
📌GitHub Flow
GitHub Flow 는 Git Flow 보다 간소화된 프로세스로, 빠른 개발 사이클을 가진 프로젝트에 적합하다.
- master: 안정적인 코드가 저장되는 브랜치로, 여기서부터 새로운 브랜치가 생성됩니다.
- feature branches: 각 기능이 개발되는 브랜치로, master 브랜치에서 파생되고 완료되면 다시 병합됩니다. Pull Request를 통해 코드 리뷰와 토론이 이루어집니다.
- deployment: master 브랜치로 병합된 코드는 즉시 배포됩니다.
📌GitLab Flow
GitLab Flow는 Git Flow와 GitHub Flow의 장점을 결합한 유연한 브랜치 전략으로, 다양한 환경에서 코드를 배포하고 관리하는 데 사용됩니다.
- Master 브랜치 : 안정적인 코드가 저장되는 브랜치로, 여기서부터 새로운 브랜치가 생성됩니다.
- Feature 브랜치 : 각 기능이 개발되는 브랜치로, master 브랜치에서 파생되고 완료되면 다시 병합됩니다. 기능 구현이 완료되면 master 브랜치로 Pull Request를 날립니다. merge 되면 브랜치는 삭제됩니다.
- Production 브랜치 : gitlab flow의 production 브랜치 역할은 git flow의 master 브랜치와 동일합니다. 테스트가 끝난 기능에 대해 배포를 하기 위한 브랜치입니다.
- Pre-production 브랜치 : 배포 전에 제품을 테스트 (QA, 품질검사) 하는 브랜치입니다. 테스트가 정상적으로 완료되면, production 과 master 에 각각 PR(Pull Request)을 날립니다.
📌Git Flow vs GitHub Flow 차이 이해
Git Flow : 5가지의 Branches 를 이용/운영하는 브랜치 전략
한달 이상의 긴 호흡으로 개발하여 주기적으로 배포 , QA, hotfix 수행할 수 있는 여력이 있는 팀의 경우 적합
Github Flow : master 브랜치와 Pull request를 활용한 단순한 브랜치 전략
항상 릴리즈되어야 할 필요가 있는 서비스와 지속적으로 테스트하고 배포하는 팀이라면 github-flow와 같은 간단한 workflow가 적합
GitFlow 에 관하여 자세히 설명된 글
우아한 기술블로그 [우린 Git-flow를 사용하고 있어요 by 나동호]
참고
https://wiki.yowu.dev/ko/dev/Git/about-git-github-gitlab-flow
https://gist.github.com/ihoneymon/a28138ee5309c73e94f9
'깃, 깃허브' 카테고리의 다른 글
Git Kraken 활용법 (0) | 2024.01.29 |
---|---|
브랜치(Branch)란? 다섯 종류의 브랜치 (1) | 2024.01.26 |
깃(Git), 깃허브(GitHub)에 관하여 (0) | 2024.01.25 |