개요
git-flow 브랜치 전략에 대해서 정리합니다.
Git-flow의 브랜치 종류
- master : 공식 릴리즈를 기록하는 브랜치
- develop : 출시할 버전을 개발하는 브랜치
- feature : 기능을 개발하는 브랜치
- release : 출시 버전을 준비하는 브랜치
- hotfix : 출시 버전에 발생한 버그를 수정하는 브랜치
Git-flow 는 항상 유지하는 메인브랜치(master, develop)와 개발 기간만 유지하고 삭제하는 브랜치(feature, release, hotfix)로 분류합니다.
Git-flow 설명 그림
Git-flow 명령어
1. master에서 develop를 생성하고 리모트 리포지트로에 푸시
가장 처음 git 리파지토리에서 master 브랜치에서 develop 브랜치를 생성하고 푸시합니다.
git branch develop
git push -u origin develop
2. feature 브랜치를 생성
Git-flow 에서는 새로운 기능을 feature 브랜치를 생성하여 개발합니다.
feature 브랜치는 develop 브랜치에서 분기하여 생성합니다.
develop 브랜치에서 새로운 브랜치를 생성하여 개발하고 완료되면 develop 브랜치에 병합합니다.
feature 브랜치 생성
git checkout develop
git checkout -b feature/new-feature-name
develop 브랜치에 병합
git checkout develop
git merge feature_branch
3. 릴리즈 브랜치를 생성
release 브랜치는 개발이 완료된 경우 develop 브랜치에서 분기하여 생성합니다.
release 브랜치에서는 출시를 위한 준비 브랜치입니다.
release 브랜치는 오직 테스트, 버그 수정, 문서작업 등의 출시 준비작업만 수행합니다.
작업이 완료되면 develop 브랜치와 master 브랜치에 동시에 병합합니다.
release 브랜치 생성
git checkout develop
git checkout -b release/1.0.0
release 브랜치를 병합 후 삭제
git checkout master
git merge release/1.0.0
git checkout develop
git merge release/1.0.0
git branch -d release/1.0.0
4. hotfix 브랜치 (Optional)
hotfix 브랜치는 릴리즈에서 발생된 버그를 빠르게 패치할 경우에만 사용됩니다.
hotfix 브랜치는 master 브랜치에서 생성합니다.
수정이 완료되면 release 브랜치와 같이 develop 브랜치와 master 브랜치에 동시에 병합하고, hotfix 브랜치는 삭제합니다.
hotfix 브랜치 생성
git checkout master
git checkout -b hotfix
hotfix 브랜치를 병합 후 삭제
git checkout master
git merge hotfix
git checkout develop
git merge hotfix
git branch -D hotfix
'프로그래밍 언어 > Git' 카테고리의 다른 글
git에서 파일명 대소문자 변경 안되는 문제 해결방법 (0) | 2021.05.18 |
---|---|
Git 원격 브랜치 삭제 방법 (0) | 2021.04.20 |
gitignore 파일 편하게 작성하는 방법 (0) | 2021.03.18 |
윈도우에서 Git Filename too long 에러 (0) | 2021.03.17 |
Github에서 Git LFS 를 이용하여 대용량 파일 올리기 (0) | 2020.06.12 |