728x90
깃허브 플로우(Github-Flow)
깃허브 플로우는 브랜치 전략으로, 깃허브를 활용한 효과적인 협업 프로세스를 만들기 위한 전략입니다.
브랜치 전략 : 여러 개발자가 하나의 저장소를 사용하는 환경에서 협업을 효과적으로 하기 위한 업무 전략
가장 대표적인 전략으로는 깃 플로우(Git-flow), 깃허브 플로우(Github-flow)가 있습니다.
1. Github-Flow의 이해
- 메인 브랜치에 대한 엄격한 관리
- 메인 브랜치는 항상 최신 상태이며, 배포를 위해 사용되는 브랜치입니다.
- pull request 과 병합 등 브랜치에 변경을 가하는 것에 대한 제약이 있습니다.
- 새로운 브랜치는 메인 브랜치에서 파생됩니다.
- master로 merge가 일어나면 자동으로 배포가 되어야 합니다.
- 어떠한 이슈가 발생했을 때 브랜치가 메인에서 분리되며, 이슈 해결 후 투표를 거쳐 PR, 메인 브랜치로 병합됩니다.
- 병합된 후로 해당 브랜치는 삭제됩니다.
2. Github-Flow 의 절차(예제)
0. github repository settings 변경
`Branches`
→`protection rules`
→`add rule`
에서 메인으로 사용하고 있는 브랜치를 지정
→`Require a pull request before merging`
체크
해당 레포지토리 메인 브랜치에 대해 병합을 할 때 `pull request` 를 하게 끔 설정하는 것입니다.
메인 브랜치를 중요하게 만드는 역할을 합니다.
1. github repository Issue 등록 : `Issues`
→ `New issues`
클릭, `Asignees`
, `Labels`
지정
`Asignees`
: 해당 이슈 담당자`Labels`
: 이슈의 유형
2. 이슈 작업 전 `git pull`
로 업데이트, → `git branch`
로 브랜치 새로 생성, `git checkout`
으로 바뀐 브랜치로 변경
git pull origin main // 메인 업데이트
git branch "새로 만들 브랜치명"
git checkout "새로 만든 브랜치명"
3. 작업 후 `git add`
→ `git commit`
→ `git push origin "바뀐 브랜치"`
4. 깃헙 `Compare & pull request`
→ Pull request 작성 후 `Create pull request`
5. 병합 유형 선택 후 병합
`Create a merge commit`
: 작업한 현 브랜치와 메인 브랜치 모두에 병합에 대한 커밋이 추가됩니다.`Squash and merge`
: 현 브랜치 바로 이전 커밋(제출본)은 해당 브랜치에서 유지, 메인 브랜치에는 추가됩니다.`Rebase and merge`
: 현 브랜치 바로 이전 커밋(제출본)은 해당 브랜치에서 삭제, 메인 브랜치에는 추가됩니다.
6. 메인 브랜치로 변경 후 git pull (로컬에 있는 메인 브랜치로 변경 후 병합 후 업데이트 진행)
7. 기존에 작업했던 브랜치 삭제 : `git branch -D "브랜치명"`
8. 작업했던 브랜치에서 작업 내역 삭제 : `git fetch --prune`
9. 깃허브 이슈는 재빠르게 닫기 ( 다른 참여자가 이슈 해결여부에 대해 오인할 수 있으므로)
'DEV > Git' 카테고리의 다른 글
[Github] 깃허브 일일 자동 잔디 심기(오토 커밋) 툴 소개 (0) | 2024.06.29 |
---|---|
[Git 기초] 원격 리포지토리의 특정 브랜치를 현 브랜치와 병합하기 (1) | 2023.12.05 |
[Git 기초] 깃 특정 시점 커밋 열람하고 다시 돌아가는 명령어 (2) | 2023.11.20 |
[Git 기초] Git Bash 기본 명령어 (3) | 2023.10.18 |