🐾

브랜치 관리

Tags
Git
속성

Git Flow

 
notion image
  • main : 제품으로 출시될 수 있는 브랜치
  • develop : 다음 출시 버전을 개발하는 브랜치
  • feature : 기능을 개발하는 브랜치
  • release : 이번 출시 버전을 준비하는 브랜치
  • hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
 
Main, Develop = 항상 유지되어야 하는 Branch
Feature, Release, Hotfix = 작업이 완료된 후 제거 되는 Branch

기능 개발

 
지원은 오늘 Log-In UI를 개발하는 작업을 진행하려고 합니다.
이 경우에 Branch를 어떻게 생성하고 사용해야 하는지에 대해 알아보겠습니다.
 
  1. develop (pull로 최신화) 브랜치로부터 새로운 feature 브랜치를 생성합니다.
    1. 브랜치 이름은 feature/login_UI으로 생성했습니다.
    2. 해당 작업을 완료할 때 까지는 해당 브랜치에서 작업을 합니다.
  1. 기능을 열심히 구현하면서 Commit을 쌓아 나갑니다.
  1. 기능 구현이 완료가 되었다면 브랜치를 push하고 develop 브랜치로 PR을 날립니다.
    1. PR에는 관련된 이슈가 연결되도록 Close #(Issue Number)를 작성합니다.
  1. 동료에게 Review와 Approve를 받은 후 해당 브랜치를 스스로 Squash Merge 합니다.
  1. 다시 새로운 할 일을 찾아 1번부터 반복합니다.

배포

 
기동 1팀이 잠을 줄여가며 작업한 결과 Develop Branch에 배포할만한 Prototype이 완성되었습니다. 이제 배포를 진행해보려고 합니다.
 
  1. develop브랜치에서 release Branch를 생성합니다.
    1. 브랜치 이름은 release-app-1.0.0
  1. QA를 진행합니다. 여러가지 버그들이 발견됩니다. (버그가있나 없나 자체 테스트)
  1. release 브랜치로부터 버그 픽스 브랜치를 생성합니다.
    1. 브랜치 이름은 fix/bug-name
  1. 버그를 열심히 잡아냈다면 release 브랜치로 PR을 날립니다.
  1. 동료에게 Review와 Approve를 받은 후 해당 브랜치를 스스로 Squash Merge 합니다.
  1. 모든 디버깅이 완료되었다면 release 브랜치를 main(CI/CD) 브랜치에 merge 합니다.