GIT 브랜치 전략

SeungJoo
|2023. 11. 8. 12:59
728x90

Git Branch 전략

Git을 사용하여 프로젝트를 개발하고 관리하는 방식을 설계하고 문서화한 것입니다. 이러한 전략은 팀이 협업하고 코드를 효율적으로 관리하며 충돌과 혼란을 최소화하는 데 도움을 줍니다.

Git Flow

Git을 사용한 소프트웨어 개발 프로세스를 조직화하고 단순화하는 전략입니다.

기본적인 가지 이름은 feature > develop > release > hotfix > master이며 5가지로 구분합니다.

master

제품용 코드가 있는 메인 브랜치이며 제품으로 출시될 수 있는 브랜치입니다.

develop

새로운 기능을 추가하고 기능을 수정하며 전반적으로 소프트웨어 개발이 이루어집니다.

feature

새로운 기능 또는 수정 작업을 개발할 때 사용되는 브랜치이며 develop 브랜치에서 파생됩니다.

relese

출시 버전을 준비하는 데 사용되는 브랜치이며 develop 브랜치에서 파생됩니다. relese에서는 테스트 및 버그 수정을 하며 출시 예정 버전을 준비하는 동안 relese에서 변경 사항이 추가되며, relese 후에는 새로운 relese브랜치를 만듭니다.

hotfix

출시 버전에서 발생한 심각한 버그를 빠르게 수정하기 위한 브랜치입니다. 핫픽스 브랜치에서 버그 수정이 이루어지면 수정 사항은 main이나 develop 브랜치로 병합됩니다.

GItHub Flow

경량 한 방식으로 개발자들이 소프트웨어를 개발하고 협업하는데 적합한 방식이며 GitHub에 적용하기 복잡하다는 의견에 따라 만들어진 새로운 깃 관리 방식입니다.

[이미지 출처]: f-lab-edu/FKREAM: 리셀 서비스 크림을 클론한 프로젝트 (github.com)

브랜치 생성

새로운 기능이나 버그 수정 작업을 시작하기 전에, 메인 브랜치에서 새로운 브랜치를 생성합니다. 브랜치 이름은 작업의 목적이나 내용을 설명하는 이름을 사용하는 것이 좋습니다.

작성 및 커밋

새로운 기능 또는 수정 작업을 수행할 때마다 새로운 기능 브랜치를 생성하며 기능 브랜치에서 작업이 이루어지며 개발이 완료되면 풀 리퀘스트를 생성합니다.

풀 리퀘스트

작업이 완료되면, 해당 브랜치를 GitHUB에서 PR로 제출하며 PR을 생성할 때 작업 내용을 설명하고 다른 개발자들의 이해하기 쉽게 제목과 설명을 commit 해줍니다.

PR 검토 및 토의

PR을 검토하고 댓글을 달거나 변경 사항을 제안합니다. 코드 리뷰 및 토론을 통해 코드 품질을 향상시키고 버그를 발견합니다.

CI/CD

CI/CI파이프 라인을 통해 코드 변경이 자동으로 빌드, 테스트 및 배포됩니다. 이로써 코드 변경의 품질과 안정성을 보장합니다.

PR 병합

CI/CD 그리고 코드 리뷰까지 통과하면 PR 병합하여 변경 사항을 메인 브랜치로 통합합니다.

GitLab Flow

Git Flow와 GitHub Flow의 장점을 결합한 유연한 브랜치 전략입니다. GitLab Flow는 코드 변경과 이슈 처리를 관리하며 지속적인 통합 및 배포를 통해 품질과 안정성을 유지하고 GitLab의 강력한 CI/CD 기능을 활용해 개발과 배포 프로세스를 자동화와 최적화를 할 수 있습니다.

GitLab Flow는 배포만을 위해 추가된 Production와 PREPRODUCTION을 제외하곤 Github Flow와 동일합니다.

Git 브랜치 전략(feat. Git Flow, Github Flow, Gitlab Flow) :: 박종연의 성장하는 개발 블로그 (tistory.com)

728x90

'GIT' 카테고리의 다른 글

LF will be replaced by CRLF  (0) 2023.11.11
Git 기초  (0) 2023.10.28
Git & Github 협업하기  (1) 2023.10.24