본문 바로가기

Review

Git flow 전략

1️⃣ TL;DR: git flow 레퍼런스 링크들

https://danielkummer.github.io/git-flow-cheatsheet/index.ko_KR.html → git flow cheetsheet

https://jinwoo1990.github.io/git/git-flow-summary/ → git flow 사용법 요약 / 팁

☕ 설 치

MAC OS

brew install git-flow-avh

Linux

sudo apt-get install git-flow

Windows

get -q -O - --no-check-certificate <https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh> install stable | bash

2️⃣ Git Flow 에서의

브랜치 종류

  • master: 제품으로 출시될 수 있는 브랜치
  • develop: 다음 출시 버전을 개발하는 브랜치
  • feature: 기능을 개발하는 브랜치
  • release: 이번 출시 버전을 준비하는 브랜치
  • hotfix: 출시 버전에서 발생한 버그를 수정 하는 브랜치

3️⃣ Git Flow 사용해보기

🪶  새로운 레포지토리 생성시 초기화

git clone <repository url> 로 클론

git flow init 명령어 입력

master branch → main ( gitlab에서 default )

develop branch → develop (default)

feature branch prefix → feature/ (default)

release branch prefix → release/ (default)

hotfix branch prefix → hotfix/ (default)

support branch prefix → support/ (default)

🪶 새로운 feature branch 생성하여 작업할 때

  1. git flow featrue start <MYFEATRUE> 로 새로운 feature branch 생성
  2. 작업 후 commit convention 에 맞게 git commit
    1. 작업 중에 주기적으로, 3번을 수행하기 전에 아래 rebase 진행
  3. git flow feature publish <MYFEATURE> 로 feature branch PUSH
  4. develop branch 로 Merge Request 날리기
  5. 담당자에게 코드 리뷰 부탁하기
  6. 로컬 feature branch 삭제

🪶 작업 도중 다른 사람이 publish 한 develop 브랜치를 불러오기

(conflict 줄이기 위해 rebase)

  1. 다른 작업을 진행한 개발자가 git flow feature publish <HISFEATURE>
  2. git pull --rebase origin develop 로 나의 브랜치로 PULL
  3. conflict 발생시 IDE 를 적극 활용해 해결

🪶 작업 완료시 release 브랜치로 배포 준비

  1. git flow release start 0.1 로 새로운 release branch 생성 및 태그 지정
  2. git flow release finish 0.1 로 배포 완료
  3. git push origin master 으로 푸시
  4. git push origin develop 으로 푸시

🪶 이미 배포한 main 브랜치에서 버그 발생시: hotfix

  1. git flow hotfix start 0.1 로 기존에 있는 master branch 의 태그 기반 브랜치 생성
  2. 버그 수정 작업 후 commit
  3. git flow hotfix finish 0.1 로 핫픽스 해결

4️⃣ 자세히 알아보기

https://jinwoo1990.github.io/git/git-flow-concept/ → git flow 기본 개념 및 명령어

https://jinwoo1990.github.io/git/git-flow-tutorial/ → git flow 사용법 예시 샘플 프로젝트

https://jinwoo1990.github.io/git/git-flow-summary/ → git flow 사용법 요약 및 팁

'Review' 카테고리의 다른 글

흥미로운 SOTA 인공지능 오픈소스들..  (0) 2022.05.27
RabbitMQ 메시지 Python 에서 송수신하기  (0) 2022.05.27
패스워드 관리 툴: pass  (0) 2022.05.27