git reset --hard HEAD^中的^和git reset --hard HEAD中的有什么不同?
发布于 2016-10-20 05:10:45
HEAD^是HEAD的父提交。
如果您想深入了解细节,那么ref^是ref^1的快捷方式,其中ref^1是提交的第一个父项(ref^2是提交的第二个父项,如果提交不是合并提交,则可能缺少第二个父项)。
还有ref~,它也是提交的第一个父对象。它也是ref~1的快捷方式。但是ref^2和ref~2之间的不同之处在于,ref~2是提交的第一个父对象。可以有ref~1、ref~2、...、ref~n (如果历史足够长)。
至于git reset -它将当前分支重置为您指定的提交(--hard意味着放弃索引和工作树更改)。git reset --hard HEAD^将当前分支重新设置为向后提交一次,而git reset --hard HEAD仅丢弃所有本地更改。
https://stackoverflow.com/questions/40141493
复制相似问题