A-HA💡/Git

[Git] 기능 개발과 배포에 따른 branch 관리

탱 'ㅅ' 2024. 3. 19. 17:27

대학교에서는 Git으로 add commit push 하는 법만 겨우 배웠었다

branch에 대한 개념도 잘 없어서 조원이랑 한 branch를 공유하며 잘못된 줄도 모르고 참 불편하다고만 생각했다

 

입사하고나서는 사수도 체계도 제대로 갖춰지지 않았어서 입사 당시 돼있던 것들을 토대로 눈치껏 익혔다.

기능/프로젝트 개발 단위로 feature를 파고 dev, stage, prod에 각각 merge하고 배포했다.

처음엔 branch를 새로 파야하는지도 몰라서 master에서 작업하다가 실서버 요청사항이 들어오면 

작업중이던 파일(코드)을 모두 메모장에 복사해두었다가 다시 그대로 가져와서 이어 하는 매우 비효율적인 방법으로 했었다.

 

중간에 계셨던 백엔드 시니어 개발자분께서는 바로 master에 feature를 합쳐 배포하지 말고

혹시에 대비하여 feature에 master를 합치고 배포 후, 문제가 없으면 추후에 master에 병합하여 배포하라고 알려주셨다.

 

 

AS-IS

신규 개발

1. 기능/프로젝트 단위로 feature branch 생성

update: git merge master - master 코드가 feature 브랜치 위로 새로 추가되는 식

2. 테스트 완료 후 dev, stage, master(prod)에 각각 merge 후 배포

* feature에 master 병합&배포 후 문제 없으면 master에 병합&배포 

 

신규 개발 중 실서버 작업

1. 

 

버그

1. hotfix branch 생성

2. master에 merge 후 배포, merge 순서 hotfix+→master+→feature+→dev

 

 

TO-BE

- 신규 개발

1. develop, release, master(prod) 개발시작 전 완전 동일한 코드

git flow feature start test

update: git rebase develop - (master와 같은) develop 코드가 feature 브랜치 아래로  
2. 기능/프로젝트 단위로 feature branch 생성

3. develop에 feature 병합, QA

4. master에 develop 병합, 최종 배포

- 신규 개발 중 실서버 작업

- 버그



https://techblog.woowahan.com/2553/

 

우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그

{{item.name}} 안녕하세요. 우아한형제들 배민프론트개발팀에서 안드로이드 앱 개발을 하고 있는 나동호입니다. 오늘은 저희 안드로이드 파트에서 사용하고 있는 Git 브랜치 전략을 소개하려고 합

techblog.woowahan.com