[Git] 안정적인 배포를 위한 GitFlow 전략

GitFlow란?

Branch 간의 문제 없이 배포까지 안정적으로 할 수 있도록 Branch를 관리하는 전략이다.

 

 

GitFlow에서 주로 사용하는 Branch는 5가지가 있다.

1. Main

  • 실제 운영 환경에 존재하는 코드만 갖고 있는 Branch
  • 따라서 안정적인 코드만 갖고 있어야 한다. 

2. Dev 

  • Main Branch를 베이스로 생성한 Branch
  • 다음 배포에 나갈 Feature 개발건들을 Merge하고 모든 작업 내용을 갖고 있는 Branch

3. Feature

  • 어떤 Feature를 개발할 때 만드는 Branch
  • 커밋을 다 한 경우에는 다시 Dev Branch에 Merge해준다.

4. Release

  • Dev Branch를 베이스로 생성하는 Branch
  • 다음 배포에 나갈 코드를 스냅샷을 뜨는 느낌으로 생성한다. 
  • Release Branch를 생성한 이후에는 더 이상 Dev Branch에 작업하지 않는다.
  • 따라서 Release Branch로 실제 서버를 배포하며, QA나 개발 테스트를 완료했을 때 Main Branch에 Merge한다. (이 때는 Main Branch를 운영에 배포한다.)

5. Hotfix

  • 의도치 않은 장애사항이 발생시 생성하는 Branch
  • Main Branch를 기반으로 생성
  • 급한 수정사항만 수정 후 Main Branch에 Merge한다. (이 때도 바로 Main Branch를 배포한다.)

 

 

'Git, GitHub > Git' 카테고리의 다른 글

[Git] stash - 작업 중 다른 브랜치로 가고 싶어~!  (0) 2024.02.18
[Git] Merge vs Rebase  (2) 2024.02.16