브랜치 협업 - git request
17 Aug 2023 | gitgit request
팀 작업할 때, 브랜치를 만들고 main 브랜치와 합쳐야할 때 주로 사용한다.
merge request라고 생각하면된다.
(브랜치 합치기전에 요구)
github.com에 pull request라는 기능이있는데, 이걸 누르면
- 내 브랜치를 merge해달라고 요청 할 수 있고
- 팀원끼리 merge전에 코드검토가 가능하다.
원격저장소 브랜치 만드는법
- github 사이트에서 직접 브랜치 생성
- 로컬 repository에서 브랜치 생성
- 로컬 브랜치 원격에 올리려면
git push 원격저장소주소 로컬브랜치명
참고로
-
git push 원격저장소주소 로컬브랜치명은 특정 로컬저장소 브랜치 => 원격저장소
-
git push 원격저장소주소는 모든 로컬저장소 브랜치 => 원격저장소임
Pull request하기
merge 옵션 세가지
create a merge commit
새로운 merge commit을 하나 생성해주는 3-way merge를 실행해준다.
-
main 브랜치 조회시 합쳐진 브랜치의 commit 내역도 전부 나옴
-
터미널에 git log –oneline –graph 해보면 합쳐진 브랜치도 그림으로 나옴
-
그래서 commit 내역이 많으면 복잡하고 더러워보일 수 있다.
squash and merge
-
합쳐질 브랜치의 commit 내역을 하나로 합쳐서 main 브랜치에 신규 commit을 생성해준다.
-
git log –oneline –graph 해보면 합쳐진 브랜치 안나온다.
-
commit을 하나로 합쳐서 main 브랜치로 순간이동 시켜주는 행위라 사람들이 깔끔하다고 좋아한다.
rebase and merge
-
합쳐질 브랜치를 main 브랜치 최신 commit으로 rebase하고나서 fast-forward merge 비슷한걸 해준다.
-
결과는 squash and merge와 비슷한데 합쳐질 브랜치의 commit 내역이 전부 보존된다.
-
git log –oneline –graph 해보면 합쳐진 브랜치 안나온다.