Merge. 합치는거.
-
Merge
Main 브랜치에서 C브랜치를 Merge한다.
-
Rebase and Merge
main 브랜치의 모든 기록을 C브랜치로 옮긴다.
main브랜치는원래 commit1으로부터 생성된 것.
그걸(base)를 옮겨서(re) C브랜치의 마지막에서 생성된 것처럼만들겠다.
- Squash and Merge
main브랜치에 C브랜치의 모든 변경 사항을 하나로 묶어서 커밋한다.
merge vs squash
merge는 commit 기록을 볼 수 있지만, squash는 볼 수 없다.
Pull Request
- 꼭 필요한 커밋 로그를 남기기 위해 아무나 merge를 해서는 안됨.
- 따라서 Main에 어떠한 브랜치를 Merge 하기전에 '해도 될까요?'하는 요청을 보내는 게 바로 Pull Request.
- Pull Request에서는 Merge 하고자 하는 브랜치에 대한 정보를 적고 다른 사람들은 이 변경사항을 보고 적절한지 코드리뷰를 진행한다.
Fork
중앙의 repogitory를 개인 repogitory로 가져와서 브랜치를 만들고 개인의 repogitory에서 중앙의 repogitory로 Pull request 할 수 있도록 해주는 기능.
중앙의 repogitory에는 정말 필요한 브랜치만 남길 수 있다.
- git checkout -b ()
브랜치 () 만들면서 거기로 이동
- git reset --hard HEAD^
commit 단계를 뒤로 돌림
- git merge ()
브랜치 ()를 main 브랜치에 merge 함.
- git rebase ()
브랜치 ()를 main 브랜치에 rebase merge 함.
- git merge --squash ()
브랜치 ()를 메인 브랜치에 squash merge 함.
squash merge는 브랜치 이름을 추가로 지정해줘야하기 때문에,
git commit -m "()"
로 (브랜치이름)을 추가로 기입해주어야 한다.