티스토리 뷰

프로젝트 경험

git branch 전략

LuxuryCoding 2021. 10. 29. 16:38
728x90

브렌치 전략을 왜 써야 할까?

왼쪽은 브렌치 전략 몰랐을 때 오른쪽은 알았을 때

만약 브렌치 전략이 없다면 ❔

우리는 어느 브렌치가 최신인지 모른다.

프젝 잘 만들어놓고 배포까지 하고 싶은데 어떤 브렌치를 기준으로 merge 해서 배포할지 문제가 있다.

 

Branch Strategy  종류

1. git flow : 5가지의 브렌치를 이용해 운영하는 브렌치 전략

https://techblog.woowahan.com/2553/ <- 요거 참고하기 

  • 주기적으로 배포를 하는 서비스에 적합하다.
  • 가장 유명한 전략인 만큼 많은 IDE가 지원한다.

2. github-flow : master 브렌치와 pull Reqeust를 활용한 단순한 브렌치 전략 <- 난 이걸 사용함

https://github.com/jhj960918 <- 직접한 github-flow

  • 브렌치 전략이 단순하여 git을 처음 접하는 사람에게도 유용하다 (이거 쓰세요....)
  • CI(지속적 통합)/CD(지속적 배포)가 자연스럽게 이루어진다. 

 

  • 기능 개발 branch 생성하기 이름은 팀 rule 정하기 #feat-이슈 번호!!! 체계적인 분류가 없기 때문에 브렌치 이름은 의도를 아주 잘 드러내야 함

 

  • 열심히 개발하고 커밋한다.
  • pull request 올려준다.

 

  • pulll request를 진행했다면 변경사항이나 수정사항 등을 팀원에 코드 리뷰를 받고 승인까지 받는다.

 

  • 승인이 완료되었고 문제가 없다면 develop branch에 merge 시킨다. 

원래 했던거라 원래 merge 초록색 버튼이 있다.

 

한 번 더 작업 과정 정리

 

  1. branch 만들기 전에 develop branch 최신화 하기!
    • develop 브랜치에서
    • git fetch origin develop
    • git pull origin develop
  2. 본인이 작업할 branch 만들기 -> git checkout -b [branch 이름]
    • branch 이름은 [feat, refactor, fix 등등 git commit 메시지 컨벤션 참조]/luxury-shop-[이슈 번호]로 하기로 했음.
    • ex) feat/luxury-shop-1, refactor/luxury-shop-8
  3. 작업하고 커밋하고 푸시하기 PR 보내기
  4. 코드 리뷰를 받기
  5. 코드리뷰 반영 후 merge 하기 직전 develop에서 충돌을 방지해야 함. -> 작업 전에 1번에서 최신화한 develop branch가 달라졌을 수도 있기 때문!
    • git fetch
    • git pull --rebase origin develop
      • 충돌 나면 해결하기. intelij 상단 메뉴 중 VCS -> Git Resolve Conflict 이용하면 편함
      • git rebase --continue 등등 명령어 사용. 충돌 났을 때 모르겠으면 물어보기.
    • git push -f origin [자신이 만든 브랜치]
    • PR에서 Merge 버튼 누르기 or 직접 merge 하기
  • 본인이 올린 PR은 본인이 충돌 해결하고 merge 하기!

 

 

 

👍 이걸 잘 지킨다면 insights -> Network 창으로 가보면 개발과정을 볼 수 있다.

하나 제가 실수해서 뾰족하고 튀어나왔네요

https://moonformeli.tistory.com/19

=> pull fetch rebase merge 차이점이 아주 상세하게 설명되어 있어 참고하세요~

댓글
최근에 달린 댓글
최근에 올라온 글
Total
Today
Yesterday
«   2025/04   »
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