Code&Data Insights
[Git] Git으로 협업하기 - Pull Request(PR) | branch naming convention 본문
[Git] Git으로 협업하기 - Pull Request(PR) | branch naming convention
paka_corn 2024. 6. 12. 10:17
협업시 새로운 기능을 개발할 때, master branch에서 작업하지 않음!
(1) 내 계정으로 fork 한 뒤 git clone,
-> 새 기능의 branch를 생성한다.
로컬 repository 에서 브랜치생성
git branch <branch 이름>
git switch <branch 이름>
* branch 생성 후 & 작업 중간중간 pull 해오기 **
(2) 변경 사항 local에 push
(push 전 yarn format, yarn tsc 타입 잡기..!)
=> 현재 만들어진 새 브랜치에서 작업해서 푸시할 경우
git push origin head (브랜치 이름 넣을 필요 X)
(3) PR (Pull Request) 생성
github에서 'New Pull Request' 생성하기 Merge 요청
(4) 코드리뷰 받기, Merge Pull Reqest
'Squash and Merge' : Squash를 하게 되면 모든 커밋 이력이 하나의 커밋으로 합쳐지며 사라진다
feature 브랜치에서 기능을 개발하기 위한 지저분한 커밋 내역을 하나의 커밋으로 묶어 develop 에 병합하면서, develop에는 기능 단위로 커밋이 추가되도록 정리할 수 있다.
또한 feature 브랜치는 develop 브랜치에 병합 후 제거하므로, Merge Commit 을 남길 필요가 없다.
(5) Merge 이후 branch 삭제 및 동기화
upstram - 원격 브랜치
처음 브랜치 만들었을때 연결하는법? upstream?
중간에 master 원격 브랜치 업데이트 됐을때 pull or rebase 하는 법??
branch naming convention
1) master branch, develop branch master와 develop
2) feature branch
ex) feature/login feature/{issue-number}-{feature-name} 이슈추적을 사용한다면 이와 같은 형식
** feature/ 띄어쓰기 금지!
3) release branch • release-RB_... 또는 release-... 또는 release/... 같은 이름이 일반적
ex) release-1.2 4)
4) hotfix branch hotfix-... . ex) hotfix-1.2.1
https://my-codinglog.tistory.com/7
< 다시 정리 - 06.23 >
fork 했던 repo에서 작업했던 branch 만들고,
다른거 하다가 새로운 branch를 만들어서 기능 구현하려고 할때
작업을 시작하기 전에 항상 master 브랜치를 최신 상태로 유지
방법 1) 새로운 로컬 브랜치를 생성하면서 바로 upstream 브랜치를 설정하기
git checkout -b <branch> --track <remote>/<branch>
=> 현재 브랜치의 upstream 브랜치를 확인하기
git branch -vv
방법 2) 원본 저장소(master_upstream)에서 최신 변경 사항을 반영 & 새로운 브랜치 생성
(1) 마스터 브랜치로 이동 => git checkout master
(2) upstream에서 최신 변경 사항 가져오기 => git fetch upstream
(3) 로컬 master 브랜치에 변경 사항 병합 => git merge upstream/master
==> (2) & (3) 한번에 실행 : git pull upstream master
(4) git checkout -b <새로운 브랜치> 하거나 checkout <이미 만든 branch>
'Web Development > Git' 카테고리의 다른 글
[Git] 협업 시 git conflict 해결하기 - git rebase (0) | 2024.05.30 |
---|---|
[Git] 일부 파일 staged에 올리고 changed 파일이 남아있을때 commit 후 push 하기 | 'fatal: not a git repository (or any of the parent directories): .git' 오류 해결 (0) | 2024.05.22 |
[Git] Git Pull과 Git Pull --Rebase | Git commit convention (0) | 2024.05.22 |
[Git] Git 기본 (2) (0) | 2022.07.17 |
[Git] Git 기본 (1) (0) | 2022.07.17 |