Git branch 전략과 사용

aydennote·2022년 6월 11일
0

Git

목록 보기
1/1

Git 브랜치 전략에는 크게 두 가지가 있다.
첫 번째는 Git-flow 전략이고 두 번째는 Github-flow 전략이다.
두 가지 전략에 대한 개념과 사용법을 아래 설명하고자 한다.

1. Git-flow 전략

🕵️‍♀️ Git-flow 전략이란?
5가지 브랜치(main, develop, feature, release, hotfix)를 이용해 운영하는 브랜치 전략이다.


✍ 브랜치별 의미

  • 메인 브랜치 : 항상 유지되는 브랜치
    main : 제품으로 출시될 수 있는 브랜치
    develop : 다음 출시 버전을 개발하는 브랜치
  • 보조 브랜치 : merge되면 삭제되는 브랜치
    feature : 기능을 개발하는 브랜치
    release : 이번 출시 버전을 준비하는 브랜치
    hotfix : 출시 버전에서 발생한 버그를 긴급! 수정하는 브랜치

✍ 개발 프로세스
1. develop : 브랜치로부터 기능 개발을 위한 feature 브랜치 생성
2. feature : 브랜치에서 기능 구현 후 develop 브랜치에 merge
3. develop : 브랜치에 기능들이 모두 merge 되었다면, release 브랜치를 생성.
4. release : 브랜치에서 오류 또는 버그가 발생했다면 release 브랜치 내에서 수정. 수정 후 develop 브랜치와 main 브랜치 양족에 merge. 오류가 없다면 main 브랜치로만 merge.
5. main : 브랜치에서 버그 발생 시 hotfix 브랜치를 생성. hotfix 브랜치에서 버그 수정이 완료되었다면, develop 브랜치와 main 브랜치 양쪽에 merge.


2. Github-flow 전략

🕵️‍♀️ Github-flow 전략이란?
main 브랜치와 pull request를 활용한 단순한 브랜치 전략이다. 따라서, 제품 출시 브랜치인 main 브랜치 하나만 존재한다.


✍ 개발 프로세스
1. 기능 개발, 버그 수정 등 어떤 이유로든 브랜치를 생성.
이때, Git-flow 전략처럼 각 브랜치별 분류가 없기 때문에 브랜치명을 자세히 적는다.
2. 코드를 수정한 후에 pull request를 생성.
3. 팀원들과 충분한 리뷰 및 토의 후에 해당 코드를 테스트 진행.
4. 문제가 없다면, main에 merge 후 push.


✍ 특징
1. 브랜치 전략이 간단하다.
2. CI(지속적 통합) CD(지속적 배포)가 자연스럽게 이루어진다.

전략 선택

항상 배포가 되어있어야 하는 서비스의 경우 Github-flow 전략이 유리할 수 있다. 반대로 배포가 항상되어 있지 않아도 되고 Git-flow 전략을 수행할 수 있는 팀이라면 Git-flow 전략이 유리할 수 있다.

profile
기록하는 개발자 Ayden 입니다.

0개의 댓글