[Git & Github] Git Flow 개념

Seong Ho Kim·2024년 1월 13일
0

Git & Github

목록 보기
1/5

1. Git Flow의 개념

사진출처 : 김영후

  • Git Flow란? Git으로 형상관리를 위하여 브랜치와 소스코드를 효율적으로 관리하고 출시하기 위한 브랜치 관리 전략을 말한다.

  • tip)

    GitHub-Flow : GitHub에서 단순한 구조의 브랜치 전략을 자체적으로 제자하여, Master 브랜치를 중심으로 운영하는 flow를 말한다.

2. Git Flow의 특징

  • 원활한 팀프로제트 수행을 위해 팀원들과 협업하기 위해서 각각의 branch들을 활용하는데, 이 Git branch를 쉽게 관리할 수 있도록 패턴을 적용한 것이 Git-flow 모델이다.
  • 기능별로 Git을 관리하기 쉽고, 스크럼 프로세스에서 칸반보드와 같이 사용하기 매우 유용하고 CI/CD 와도 통합(merge)하기 좋기 때문에 많은 기업들이 사용하고 있다.
  • branch 관리 전략으로는 git flow 이외에 gitlab flow, github flow 전략등이 있다.

3. Git flow 모델 종류

  • Git flow 모델 종류는 총 5가지로 구분되어 있으며 master, Hotfix, Release, Develop, Feature 이다.

3-1) 각 브랜치 별 수행 기능

  • master(main) : 실제 서비스로 출시를 준비하고 있는 브랜치를 말한다.
  • Develop : 다음 버전을 출시를 개발하기 위한 브랜치를 말하며, feature 브랜치 작업이 완료되면 develop에 merge 된다.
  • Feature : 제품에 맞는 각각의 기능들을 개발하기 위한 브랜치를 말하며, 주로 feature/{칸반티켓이름} 형태로 브랜치를 만든 후, 티켓 기능을 구현하게 된다.
  • Hotfix : 출시 버전에서 발생한 버그를 수정하기 위한 브랜치를 말하며, 즉, 긴급 패치가 필요할때 사용한다.
  • Release : 이전 버전을 출시를 준비하기 위한 브랜치를 말하며, 출시 이전에 release 브랜치의 코드를 바탕으로 QA팀에서 QA(품질 테스트)를 수행한다.

3-2) Git Flow 순서

  • 브랜치 생성은 master(main) -> develop -> feature 순서로 생성되고, 브랜치 통합은 feature -> develop -> release -> master(main) 역순서로 진행된다.

4. Git Flow의 장점

  • 기능(티켓) 단위로 독립적인 Branch를 만들기 때문에, 다른 사람이 만든 branch에 간섭되지 않으며, 각각의 branch에 영향을 받지 않는 독립적인 개발환경을 만들어주는 장점이 있다.
  • branch 마다 update에 맞춰 배포 & 테스트를 하기에 용이하다.
profile
안녕하세요 Junior UIUX Designer 입니다 😊

0개의 댓글