如何从git中的先前提交中选择特定版本?

时间:2012-04-27 17:18:40

标签: git

我需要将各种提交中的文件还原到以前的状态。

原因是我们不会在此版本中提供特定功能。

我已经发现了提交。

我认为樱桃挑选和/或反思是有序的,但搜索结果让我更加困惑。

如何从git中的先前提交中选择特定版本?

2 个答案:

答案 0 :(得分:3)

如果您只想将单个文件恢复为之前提交中的状态,请使用checkout

git checkout <previous commit SHA> -- /path/to/file

如果要撤消整个提交,请使用revert

git revert <SHA of commit to undo the effects of>

答案 1 :(得分:0)

如果只有一个文件,您尝试返回到之前的状态,那么结帐是正确的解决方案

git checkout <sha-1 hash in hex> filename.ext

如果您希望将整个文件夹/提交返回到先前的状态

git revert <sha-1 of commit to reverse>

请注意,对于revert,sha-1哈希是 提交,您尝试撤消 而不是您尝试恢复为,这不是我最初的预期,我一直做错了,当我尝试时,它给我带来难以理解的错误信息,感到非常沮丧。