머지(merge)
📄 머지(merge)
독립된 브랜치에서 작업이 끝나면 다시 원본 브랜치에 작업한 결과를 반영하는 것을 말합니다.
📄 fast-forward merges
새로운 브랜치를 생성했을 때 merge를 할 경우,
master 브랜치가 가리키던 포인터를 새로운 브랜치로 이동시키는 것을 말합니다..
이때, 히스토리에 merge가 되었다는 사실이 남지 않고 깔끔하게 merge를 할 수 있습니다.
순서
git checkout master
master 브랜치로 이동합니다.git merge (독립된 브랜치명)
브랜치를 병합합니다.git branch -d (병합된 브랜치명)
더이상 필요없게 된 브랜치를 삭제합니다.
📄 fast-forward가 하기 싫을 때
히스토리를 상세히 남기는 것을 선호할 경우
git merge --no-ff feature
를 사용하면 자동으로 fast-forward merges가 되는것을 방지할 수 있습니다.
📄 fast-forward가 불가능할 때
새로운 브랜치가 생성이 되고 마스터 브랜치에 새로운 커밋이 발생한 경우, fast-forward가 불가능하게 됩니다.
이렇게 되면 Three-way merge를 이용해야 합니다.
master 브랜치와 파생된 브랜치의 변동사항을 모두 합해서 merge commit을 만든 다음,
master branch에 commit을 하게 됩니다.
이렇게 merge commit된 것을 확인할 수 있습니다.
참고
- 드림코딩
Leave a comment