git reset之间的区别 - 硬HEAD ^ vs git reset - 硬HEAD?

时间:2016-10-19 21:02:56

标签: git github

^中的git reset --hard HEAD^git reset --hard HEAD相比有什么不同?

1 个答案:

答案 0 :(得分:5)

HEAD^HEAD的父提交。

如果您想了解详细信息,ref^ref^1的快捷方式,其中ref^1是提交的第一个父级(ref^2是提交的第二个父级,如果提交不是合并提交,则可能不存在。)

还有ref~也是提交的第一个父级。它也是ref~1的捷径。但ref^2ref~2之间的区别在于ref~2是提交的第一个父级的第一个父级。可以ref~1ref~2,...,ref~n(如果历史记录足够长)。

对于git reset - 它将当前分支重置为您指定的提交(--hard意味着丢弃索引和工作树更改)。 git reset --hard HEAD^向后重置当前分支一个提交,而git reset --hard HEAD只丢弃所有本地更改。