假设分支B
直接位于当前分支之前(以便可以进行快进合并)。
怎么做
git merge B --ff
并且正在做
git reset B --hard
此时有所不同?
答案 0 :(得分:3)
唯一的区别在于git merge
无法快进:
如果您有本地更改:
git merge B --ff
失败并显示错误消息:
error: Your local changes to the following files would be overwritten by merge: (list of files) Please, commit your changes or stash them before you can merge. Aborting
git reset B --hard
默默地放弃更改。
如果你误解了快进的可能性:
git merge B --ff
创建合并提交。
除此之外(并且你说这些情况不适用),它们都以完全相同的方式更新当前分支(或分离的HEAD):与B
完全相同的提交。