Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

냥냠

[Git] Git 브랜칭 전략 본문

Git

[Git] Git 브랜칭 전략

sueeee-e 2024. 8. 2. 14:29

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