git diff other_branch
当我表现出差异并且git merge other_branch
什么都不做时,我会感到难过。将“丢失”代码合并到的正确方法是什么my_branch
?
这个SO answer描绘了与我类似的情况。
o---A---B---C-------G my_branch
\ \ /
--*D*---E---F other_branch
令人惊讶的是,当我这样做时, D中的变化不会自动合并my_branch
git checkout my_branch
git merge other_branch
将F引入G
当然,我可以手动创建一个补丁并将其应用于my_branch
,如下所示:
git diff other_branch my_branch > patchfile
git checkout my_branch
patch -p1 < patchfile
但我想正确地做到这一点,而不破坏 git 日志。使用补丁方法,git 将记录D中的更改和我的最新补丁,因为它们彼此独立发生(代码搅动)。我想简化git log
并确保其他人在执行git merge my_branch
.