냥냠
[Git] Git 브랜칭 전략 본문
https://youtu.be/wtsr5keXUyE?feature=shared
1. Branch 전략이란?
- 혼자 개발할 때
하나의 main 브랜치에서만 작업을 함
- 팀 프로젝트할 때
브랜치를 마음대로 만들고 지우며 혼란을 불러올 수 있다.
Branch 전략이란
여러 명의 개발자가 1개의 저장소를 사용하는 환경에서 효과적으로 사용을 하기 위해 나온 개념
대표적인 전략 : GitHub flow, Git flow, GitLab flow
2. GibHub flow
: 깃허브에서 만든 단순한 구조의 브랜치 전략
: 마스터 브랜치를 중심으로 운영되며 기능 개발 버그 수정 등의 작업용 브랜치를 구분하지 않음
: 수시로 배포가 일어나는 프로젝트에 유용
하나의 브랜치의 생명 주기
작업 시작 시 브랜치를 열고 하고자 하는 작업을 하며 기능별로 commit을 함 (메세지 정확&간결)
commit은 서버의 동일한 브랜치에 푸시를 해줘야 함
개발이 끝나면 마스터 브랜치에 PR을 보냄 -> 이후 리뷰와 논의과정을 거치고
마스터에 merge를 함 (이때, 머지 전에 배포하여 테스트 가능)
3. Git flow
: 현재 많은 기업에서 표준으로 사용함
: 크게 5개의 브랜치를 운영하며 관리함 ( master, develop / feature, release, hotfix )
: 배포 주기가 길고 팀의 여력이 있는 경우 적합
메인 브랜치 -> 항상 남아있는 브랜치
- Master : 제품으로 배포할 수 있는 브랜치
- Develop : 개발자들이 개발을 하는 브랜치 -> base를 main또는 master
보조 브랜치 -> 사용을 마치면 브랜치를 삭제 함
- Feature :기능 구현 -> base를 develop
- Release : QA 테스트
- Hotfix : 버그 수정 , 보안 문제
배포 주기 및 조직의 규모 등을 고려하여 전략을 결정해야 한다.
팀원이 적은 프로젝트는 github flow로 해보면 좋을 듯하다.
++ github flow 과정
깃허브에 이슈가 생기면 이슈번호가 생성 7
[master] git checkout -b bugFix/7
[bugFix/7] 작업
[bugFix/7] git add .
[bugFix/7] git commit -m "작업"
[bugFix/7] git pull origin master
[bugFix/7] git push origin bugFix/7
GITHUB : PR 신청 : origin/bugFix/7 => origin/master
GITHUB : Merge : origin/bugFix/7 => origin/master
GITHUB : origin/bugFix/7 브랜치 삭제
[bugFix/7] git chechout master
[master] git branch -D bugFix/7 // 여기서도 브랜치 삭제
[master] git pull origin master
[master] git prune // 가지치기 (쓸데없는 정보 삭제)
깃허브 이슈번호 생성 9 -> 다른 팀원이 가져가서 해결
깃허브 이슈번호 생성 10 -> 내가 해결
위의 해결과정을 반복
[master] git chechout -b feature/10
[feature/10] 작업
[feature/10] git add .
[feature/10] git commit -m "작업"
[feature/10] git pull origin master
[feature/10] 작업
[feature/10] git add .
[feature/10] git commit -m "작업"
[feature/10] git pull origin master -> 중간에 자주 해주면 좋음
[feature/10] git push origin feature/10
...
https://youtu.be/akzmitqGtN0?feature=shared
아직 이해가 잘 안된다면 이 글을 보면 바로 이해가 될 것이다.1!!
https://techblog.woowahan.com/2553/
우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그
안녕하세요. 우아한형제들 배민프론트개발팀에서 안드로이드 앱 개발을 하고 있는 나동호입니다. 오늘은 저희 안드로이드 파트에서 사용하고 있는 Git 브랜치 전략을 소개하려고 합니다. '배달
techblog.woowahan.com
'Git' 카테고리의 다른 글
[Git] Branch에 관한 내용 (1) | 2024.11.04 |
---|---|
[Git] push 문제 detached HEAD 해결 (0) | 2024.11.01 |
[Git] SourceTree 사용법 (commit, push) (0) | 2024.08.09 |
[Git] Github 정리 - 1 (1) | 2024.08.02 |