Backend
home
💼

1. Git Flow 전략 알아보기

생성일
2025/02/13 07:09
태그

Git flow 전략 알아보기

Git 을 사용하여 개발하는 환경에서 Branch 간의 문제 없이 배포까지 안정적으로 할 수 있도록 Branch를 관리하는 전략이다.

주요 Branch

Main(=Master)
Dev
Feature
Release
Hotfix

시나리오 테스트

Release Branch 생성 후 추가 작업이 필요해질 경우
Release Branch 생성 후 추가 작업이 없는 경우
Hotfix가 나가야 할 경우

정기배포를 위한 GitFlow 전략

Login 기능 개발
Logout 기능 개발
다음과 같은 구조로 Branch 생성 후 Feature 작업 진행
Feature 개발 완료 후 배포를 하기 위해 Release Branch를 생성

Release Branch 생성 후 추가 작업이 필요해질 경우

Release Branch를 기준으로 추가 작업을 위한 Branch를 생성
추가 작업이 끝나면
Release Branch에 Merge 후
Release Branch를 Master Branch에 Merge
Master에 추가된 작업 내용을 Dev Branch에, Master Branch를 Merge 하여 Master와 Dev의 Sync를 맞춤
Sync를 맞추는 이유
Dev는 Master를 Base로 생성된 Branch이다.
Dev = Master + @의 코드를 갖고 있어야 한다.
만약 Sync가 안 맞을 경우 Dev ≠ Master + @가 된다.
이런 상태로 누군가 Dev에서 신규 Branch를 생성하게 되면 코드가 꼬이게 된다.

Release Branch 생성 후 추가 작업이 없는 경우

Release Branch를 Master Branch에 Merge 한다.
Dev Branch에 Master Branch를 Merge 하여 Master와 Dev의 Sync를 맞춘다.

Hotfix가 나가야 하는 상황인 경우

다음과 같은 상황에 운영에서 장애가 발생하여 Hotfix로 이슈를 수정하여 배포가 나가야 한다.
Master Branch를 기준으로 Hotfix Branch를 생성한다.
Hotfix Branch에 수정 작업을 진행한다.
Hotfix 작업이 끝나면 Master Branch에 Merge 한다.
Dev Branch에 Master Branch를 Merge 하여 Master와 Dev의 Sync를 맞춘다.
이후 신규 작업은 Dev Branch Base로 새로운 Feature Branch를 생성한다.
Hotfix 이후 왜 Master와 Dev 간 Sync를 맞춰야 하나?
Master를 Dev에 Merge 하지 않고 Dev에서 Feature Branch를 생성하게 되면 최신 코드가 아닌 상태로 개발이 진행된다.