Git Flow + Tag 전략쓰기

김현중·2025년 7월 7일

연구소

목록 보기
33/34
post-thumbnail

1️⃣ Git Flow란?

Git Flow 전략은 브랜치를 역할별로 나눠서 협업을 원활하게 해주는 브랜치 전략입니다.

주요 브랜치 구성:

  • develop : 개발 중인 코드
  • feature/ : 기능 단위 브랜치
  • release/ : 릴리즈 준비 브랜치
  • hotfix/ : 긴급 수정
  • main : 배포 완료된 코드


2️⃣ 로컬에서 기능 개발 후 원격 저장소에 업로드하는 절차

1. Git Flow 설치 확인

git flow version

2. Git Flow 초기화

git flow init

브랜치 이름을 설정하는 질문이 나오는데, 여기서 Enter를 누르면 기본값으로 설정됩니다 (develop, feature/, release/ 등).

Version tag prefix? [] → 버전을 v1.0.0 형식으로 만들고 싶다면 v 입력, 아니라면 그냥 Enter.

3. 기능 브랜치 생성

git flow feature start 작업이름

→ 예: git flow feature start 작업이름

자동으로 feature/작업이름 브랜치가 생성되고 해당 브랜치로 이동됩니다.

4. 코드 작성 및 커밋

git add .
git commit -m "로그인 UI 구현"

5. 기능 개발 완료 후 머지

git flow feature finish 작업이름

이렇게 하면 develop 브랜치로 자동 머지되며, feature 브랜치는 삭제됩니다.

6. 원격 저장소 연결 여부 확인

git remote -v

연결이 안되어 있다면

git remote add origin https://github.com/내저장소주소.git

7. 원격 저장소에 브랜치 업로드

git push origin develop

만약 작업중이라면 git push origin feature/작업이름 으로도 가능

git push origin feature/작업이름 으로도 가능

브랜치 확인 명령어

git branch        // 로컬 브랜치
git branch -r     // 원격 브랜치
git branch -a     // 로컬 + 원격 브랜치 전체


3️⃣ Git Tag로 버전 관리하기

💬 Git Tag란?

  • 특정 커밋에 '버전명'을 붙이는 기능
  • 릴리즈나 배포 기준점을 명확하게 표시 가능
  • 보통 v1.0.0, v2.1.3 같은 형식을 사용

1. 릴리즈 준비

git flow release start 1.0.0

release/1.0.0 브랜치가 생성됩니다. 이곳에서 QA, 문서 정리 등을 마무리합니다.

2. 릴리즈 마무리 (태깅 포함)

git flow release finish '1.0.0'
  • 자동으로 maindevelop에 병합됩니다.
  • v1.0.0이라는 annotated tag가 생성됨
  • release/1.0.0 브랜치는 삭제

3. 태그 및 브랜치 원격 push

git push origin main
git push origin develop
git push origin --tags   // 태그 push는 별도로 해야 함


📦 특정 태그 버전에서 작업 이어가기

1. 태그 기준으로 clone

git clone --branch v1.1.0 https://github.com/저장소.git

2. 새 작업 브랜치 생성

git checkout -b feature/기능이름

→ detached 상태를 벗어나서 작업 가능

3. 커밋 후 태그 생성

git tag -a v1.2.0 -m "v1.2.0 릴리즈"
git push origin v1.2.0

💡 보통은 작업 브랜치를 push한 이후에 태그를 생성합니다.
즉, 커밋된 시점에 스냅샷을 찍는 형태로 버전 기록!

🎯 특정 커밋에 태그 달기
git tag -a v1.2.0 <커밋해시>



🛠️ 실무 흐름 요약 (Git Flow + 태그)

  1. git flow feature start 개발-101

  2. git push origin feature/개발-101 → PR

  3. 리뷰 & merge → develop 반영

  4. git flow release start 1.2.0

  5. 최종 QA 및 문서 정리

  6. git flow release finish 1.2.0 → develop + main 병합 + 태그 생성

  7. git push origin develop + git push origin main + git push origin --tags

profile
박수 받는 사람이 되고 싶어서 항상 노력합니다.

0개의 댓글