Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“git merge B--ff”(成功时)和“git reset B--hard”有何不同?_Git - Fatal编程技术网

“git merge B--ff”(成功时)和“git reset B--hard”有何不同?

“git merge B--ff”(成功时)和“git reset B--hard”有何不同?,git,Git,假设分支B位于当前分支的正前方(因此可以进行快进合并) 你觉得怎么样 git merge B --ff 做 git reset B --hard 在这一点上有所不同?唯一的区别是在git merge无法快进的情况下: 如果您有本地更改: git merge B--ff失败并显示错误消息: 错误:您对以下文件的本地更改将被“合并”覆盖: (文件清单) 请在合并之前提交或隐藏更改。 流产 git reset B--hard自动放弃更改 如果您错误地认为快进是可能的: git merge B--f

假设分支
B
位于当前分支的正前方(因此可以进行快进合并)

你觉得怎么样

git merge B --ff

git reset B --hard

在这一点上有所不同?

唯一的区别是在
git merge
无法快进的情况下:

如果您有本地更改:

git merge B--ff
失败并显示错误消息:

错误:您对以下文件的本地更改将被“合并”覆盖: (文件清单) 请在合并之前提交或隐藏更改。 流产
git reset B--hard
自动放弃更改

如果您错误地认为快进是可能的:

git merge B--ff
创建合并提交

除此之外(您说这些情况不适用),它们都以完全相同的方式更新当前分支(或分离的头部):以与
B
完全相同的提交方式

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