Git 快进 merge 与 git reset --hard 相同

标签 git

这个关于 git 的陈述是真的吗,merge(其中快进是可能的)基本上与使 git reset --hard 到 HEAD 相同要 merge 到的分支?

(当merge不是fast-forward时,很明显这个说法不成立)

最佳答案

是的,只要您没有未提交的更改。如果有,git reset --hard 将丢弃这些更改,而快进 merge 则不会。没有 --hard 参数的重置将表现得与快进 merge 相同。

快进 merge 的作用,来自 git scm :

When the merge resolves as a fast-forward, only update the branch pointer[...]

reset --hard 做了什么(同样来自 git scm ):

Reset current HEAD to the specified state

关于Git 快进 merge 与 git reset --hard 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56632178/

相关文章:

git - Gerrit 重复请求被拒绝

git - 具有 git 存储库的确定性目录 mtime

git - Docker 构建错误 "Cannot fetch index base URL http://pypi.python.org/simple/"

git - 如何始终拥有 git repo 的最新工作副本?

Xcode 5 和共享方案

git 下载,而不是克隆获取等

git - 如何从master以外的分支推送到azure应用程序服务?

php - Composer : Develop directly in vendor packages

regex - 如何在 git svn 中评估忽略路径?

security - 如何设置不同用户只能看到某些部分的git存储库?