在Git中恢复由SHA哈希提交?

在Git中恢复由SHA哈希提交?

我不清楚如何git revert工作。例如,我想在头部后面恢复提交六次提交,恢复中间提交之间的所有更改。

说它的SHA哈希是56e05fced214c44a37759efa2dfc25a65d8ae98d。那我为什么不能做以下事情:

git revert 56e05fced214c44a37759efa2dfc25a65d8ae98d


萧十郎
浏览 498回答 3
3回答

MMMHUHU

如果要在当前HEAD上提交具有不同提交的确切状态,撤消所有中间提交,则可以使用reset创建索引的正确状态来进行提交。# Reset the index and working tree to the desired tree# Ensure you have no uncommitted changes that you want to keepgit reset --hard 56e05fced# Move the branch pointer back to the previous HEADgit reset --soft HEAD@{1}git commit -m "Revert to 56e05fced"

Helenr

什么混帐复归确实是一个指定的提交创建一个承诺,撤消在给定提交所做的更改,创建提交其反向(当然,倒数)。因此git&nbsp;revert&nbsp;<SHA-1>应该而且确实有效。如果你想回退到指定的提交,并且你可以这样做,因为这段历史尚未发布,你需要使用git-reset,而不是git-revert:git&nbsp;reset&nbsp;--hard&nbsp;<SHA-1>(注意,--hard这将使您丢失工作目录中的任何未提交的更改)。补充说明顺便说一下,也许它并不明显,但在文档说<commit>或<commit-ish>(或<object>)的任何地方,你都可以提交一个SHA-1标识符(完整或缩短)。

婷婷同学_

它恢复了所述提交,即添加与其相反的提交。如果要签出早期版本,请执行以下操作:git&nbsp;checkout&nbsp;56e05fced214c44a37759efa2dfc25a65d8ae98d
打开App,查看更多内容
随时随地看视频慕课网APP