뻗어나간 브랜치의 내용을 병합하기 위해서는 위치가 뻗어나간 위치의 브랜치인 상태에서 git merge 뻗어나간 브랜치
명령어를 입력한다.
브랜치가 머지되기 전에 원 브랜치의 추가적인 커밋이 없으면, 브랜치가 분기될 필요가 없으며, 자동적으로 fast-forward 방식으로 병합이 이루어진다.
fast-forward 방식이란 별도의 커밋을 생성하지 않고 원 브랜치가 가리키는 커밋을 뻗어나간 브랜치가 생성한 커밋으로 바꾸는 작업을 말한다.
만일, 원 브랜치에 별도의 커밋이 있었다면, fast-forward가 아닌 merge commit 방식으로 병합되었을 것이다. 이는 각 브랜치가 줄기처럼 분기한 후, 병합의 모양새를 가진다.
rebase의 원리가 바로 앞서 배웠던 fast-forward와도 같다.
말 그대로 branch base를 이동시킨다는 뜻으로, 머지처럼 브랜치 통합을 목적으로 하지만, 특정 시점으로 브랜치가 가리키는 곳을 변경하는 기능을 한다.
원 브랜치에서 git rebase main (브랜치)
명령어를 입력하면 main의 가장 최신 커밋으로 브랜치가 가리키는 곳이 변경된다. (main의 다른 커밋에서 충돌이 없을 경우)