master
지점 이 있다고 상상해 봅시다 .
그런 다음 newbranch
git checkout -b newbranch
그리고 두 개의 새로운 커밋을 newbranch
: commit1 및 commit2
그런 다음 마스터로 전환하고 cherry-pick
git checkout master
git cherry-pick hash_of_commit1
를 살펴보면 gitk
우리하면 해당 참조 commit1 때문에 기술적으로 두 개의 서로 다른 커밋은, 그 체리 고른 버전은 서로 다른 해시를 가지고있다.
마지막으로 우리는 다음과 같이 합병 newbranch
합니다 master
.
git merge newbranch
서로 다른 해시를 가진이 두 커밋은 동일한 변경 사항이 두 번 적용되어야하므로 그 중 하나가 실패해야 함을 의미하지만 문제없이 병합되었습니다.
git은 병합하는 동안 실제로 커밋 내용을 현명하게 분석하고 변경 사항을 두 번 적용해서는 안되거나 이러한 커밋이 내부적으로 연결된 것으로 표시됩니까?