2024. 11. 22. 14:27ㆍ데브옵스(DevOps)/Git & Github
git flow 세팅 방법
0. git flow 설치
나는 맥을 사용 중이기 때문에 terminal에서 homebrew를 이용하여 git flow를 설치해주었다.
brew install git-flow
설치 확인 명령어
git flow version
참고) 다른 운영체제에서 Git flow 설치 명령어
Linux에서 Git flow 설치
sudo apt-get install git-flow
Windows에서 Git flow 설치
choco install git-flow
1. git flow 초기화
먼저, 프로젝트 디렉토리에서 git flow를 초기화해야 한다.
git flow init
이 명령어를 실행하면 git flow에 필요한 브랜치 구조가 설정된다.
기본적으로 master와 develop 브랜치가 생성되며, 기타 브랜치들은 git flow의 규칙에 맞게 사용된다.
질문이 몇 가지 나오는데, 기본값을 사용하려면 그냥 enter키를 누르면 된다.
2. 브랜치 생성하기
git flow가 초기화되면, 기본적으로 master와 develop 브랜치가 설정된다.
그 후에는 feature, release, hotfix 등의 브랜치를 생성하면서 작업할 수 있다.
예시1: 새로운 기능을 개발하기 위한 feature 브랜치 생성
git flow feature start "개발할 기능의 이름"
ex) git flow feature start login-page
예시2: feature 브랜치 작업 완료 후, develop에 병합
git flow feature finish "개발할 기능의 이름"
ex) git flow feature finish login-page
위 명령어로 작업한 feature 브랜치를 develop 브랜치에 병합하고, 로컬에서 feature 브랜치를 삭제한다.
3. 브랜치 확인하기
git flow를 사용하고 나면, 작업할 브랜치들이 깔끔하게 관리되기 때문에 git branch 명령어로 확인할 수 있다.
git branch
4. 원격 저장소에 develop 브랜치 반영
git flow init을 실행하면 develop 브랜치가 로컬에만 생성되므로, 이를 원격 저장소에 푸시해야 한다.
git push -u origin develop
이 명령어는 develop 브랜치를 원격 저장소에 푸시하고, 이후에 develop 브랜치에서 작업할 때 자동으로 원격 develop 브랜치와 연동되도록 설정한다.
5. 이후 해야 될 것
5-1. 기능 개발을 위한 feature 브랜치 생성(필요시)
기능을 개발할 준비가 되었다면, develop 브랜치에서 분기해서 feature 브랜치를 만들 수 있다.
1. feature 브랜치 생성 (2번의 예시1과 연결)
git flow feature start [feature-name]
[feature-name]을 자신이 개발할 기능에 맞는 이름으로 바꿔주면 된다.
예를 들어, 로그인 기능을 개발할 경우 feature/login과 같은 방식으로 이름을 지을 수 있다.
2. feature 브랜치 작업 완료 후, develop 브랜치로 병합 (2번의 예시2와 연결)
git flow feature finish [feature-name]
작업이 완료되면, feature 브랜치를 develop 브랜치로 병합한다.
5-2. 릴리스 준비(필요시)
배포 준비가 되면 release 브랜치를 생성하여 QA와 버그 수정을 할 수 있다.
이 브랜치는 develop에서 분기하며, 배포 준비가 완료되면 main과 develop에 병합한다.
1. release 브랜치 생성
git flow release start [version-number]
ex) git flow release start 1.0.0
2. release 브랜치 작업 후, 병합
git flow release finish [version-number]
이 명령어를 통해 release 브랜치를 main과 develop에 병합하고, 태그를 추가하여 버전을 기록한다.
git flow 명령어 요약
- git flow 초기화: git flow init
- feature 브랜치 시작: git flow feature start [feature-name]
- feature 브랜치 완료 및 병합: git flow feature finish [feature-name]
- release 브랜치 시작: git flow release start [version]
- release 브랜치 완료 및 배포 준비: git flow release finish [version]
- hotfix 브랜치 시작: git flow hotfix start [version]
- hotfix 브랜치 완료: git flow hotfix finish [version]
'데브옵스(DevOps) > Git & Github' 카테고리의 다른 글
[Git] git flow에서 브랜치 시각화하기 (0) | 2024.11.22 |
---|---|
[Git] Git Flow: 협업 프로젝트에서 브랜치 관리하는 방법 (0) | 2024.11.22 |