1
假設分支B
在當前分支的前面(這樣可以進行快進合併)。`git merge B --ff`(成功時)和`git reset B --hard`如何不同?
如何做
git merge B --ff
,做
git reset B --hard
在這一點上有什麼不同?
假設分支B
在當前分支的前面(這樣可以進行快進合併)。`git merge B --ff`(成功時)和`git reset B --hard`如何不同?
如何做
git merge B --ff
,做
git reset B --hard
在這一點上有什麼不同?
唯一的區別是在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
完全相同。
它們沒有區別。 – Wolf