출처 : https://techblog.woowahan.com/2553/
우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그
{{item.name}} 안녕하세요. 우아한형제들 배민프론트개발팀에서 안드로이드 앱 개발을 하고 있는 나동호입니다. 오늘은 저희 안드로이드 파트에서 사용하고 있는 Git 브랜치 전략을 소개하려고 합
techblog.woowahan.com
개발 프로세스
- 5명이서, 해야할 task 나열
- 우선순위에 따라 나눠 갖음
- 필수 작업과 필요할 것 같은 작업을 병렬로 진행
- Git-flow 채택
Repositary 구성
- 각자 원격 Repository 구성
- 이후 Upstream 원격 저장소에 Pull Request 하는 방식
Ground Rule
- 커밋 그래프는 단순하게
- 공유하는 브랜치의 커밋 그래프는 함부로 변경하지 않습니다.
- 불필요한 commit rebase
- 다른 말로 commit squash 수행한다고 함.
- 리뷰어에게 꼭 리뷰를 받습니다.
- 자신의 Pull Request는 스스로 merge
git flow 전략
- master
- develop
- feature
- relaeas
- hotfix
- 멘토님 조언 : master, develop, feature 브랜치만 사용해도 ok
작업 예시
- upstream/feature-user 브랜치에서 작업 브랜치(bfm-100_login_layout) 생성
- (feature-user)]$ git fetch upstream
- (feature-user)]$ git checkout -b bfm-100_login_layout –track upstream/feature-user
- 작업 브랜치에서 작업 후 변경사항 커밋
- $ git commit -m "BFM-100 로그인 화면 레이아웃 생성"
- 커밋이 불필요하게 나뉘어져있다면 squash
- (bfm-100_login_layout)]$ git rebase -i HEAD~2
- 작업 브랜치 upstream/feature-user에 rebase
- (bfm-100_login_layout)]$ git pull –rebase upstream feature-user
- 작업 브랜치를 원격(origin)에 push
- (bfm-100_login_layout)]$ git push origin bfm-100_login_layout
- 작업 브랜치를 feature-user에 merge 하는 Pull Request 생성
- 같은 feature 개발하는 동료에게 리뷰 승인 받은 후 Pull Request merge. 혼자 개발하는 상황이라면, 1~2명의 동료에게 리뷰 승인 받은 후 Pull Request를 merge.
rebase 유무에 따른 깃 그래프 변화
개발 프로세스
- 5명이서, 해야할 task 나열
- 우선순위에 따라 나눠 갖음
- 필수 작업과 필요할 것 같은 작업을 병렬로 진행
- Git-flow 채택
Repositary 구성
- 각자 원격 Repository 구성
- 이후 Upstream 원격 저장소에 Pull Request 하는 방식
Ground Rule
- 커밋 그래프는 단순하게
- 공유하는 브랜치의 커밋 그래프는 함부로 변경하지 않습니다.
- 불필요한 commit rebase
- 다른 말로 commit squash 수행한다고 함.
- 리뷰어에게 꼭 리뷰를 받습니다.
- 자신의 Pull Request는 스스로 merge
git flow 전략
- master
- develop
- feature
- relaeas
- hotfix
- 멘토님 조언 : master, develop, feature 브랜치만 사용해도 ok
작업 예시
- upstream/feature-user 브랜치에서 작업 브랜치(bfm-100_login_layout) 생성
- (feature-user)]$ git fetch upstream
- (feature-user)]$ git checkout -b bfm-100_login_layout –track upstream/feature-user
- 작업 브랜치에서 작업 후 변경사항 커밋
- $ git commit -m "BFM-100 로그인 화면 레이아웃 생성"
- 커밋이 불필요하게 나뉘어져있다면 squash
- (bfm-100_login_layout)]$ git rebase -i HEAD~2
- 작업 브랜치 upstream/feature-user에 rebase
- (bfm-100_login_layout)]$ git pull –rebase upstream feature-user
- 작업 브랜치를 원격(origin)에 push
- (bfm-100_login_layout)]$ git push origin bfm-100_login_layout
- 작업 브랜치를 feature-user에 merge 하는 Pull Request 생성
- 같은 feature 개발하는 동료에게 리뷰 승인 받은 후 Pull Request merge. 혼자 개발하는 상황이라면, 1~2명의 동료에게 리뷰 승인 받은 후 Pull Request를 merge.
rebase 유무에 따른 깃 그래프 변화
'Git' 카테고리의 다른 글
[pre-commit] black, ruff 적용하기 (0) | 2024.01.29 |
---|---|
원격에 있는 Branch 명 바꾸기 (1) | 2024.01.25 |
[visual studio code git] commit, push (0) | 2023.11.25 |
[Git] 우분투 리눅스 깃 설치 및 클론 (0) | 2022.12.02 |
[GIT] Push, Pull 해보기 (0) | 2022.07.09 |