如何使用git返回之前的文件提交?

时间:2010-10-04 15:20:00

标签: git rollback

我正在处理一个文件,其中我当前的提交最终变坏了,我想回到早期的特定文件提交?

我做了一个搜索,看起来没有人回答过类似的问题(如何在git的先前提交中回滚文件中的更改)....

希望是一个简单的答案?

3 个答案:

答案 0 :(得分:3)

git reset <commit hash> <filename>

答案 1 :(得分:3)

git checkout <commit-id> file(s)

它会很容易覆盖,所以要小心你的文件通配符,它​​可以同时覆盖几个文件。如需帮助,您可以查看带有所需文件的git log消息作为过滤器:

git log <file>

仅显示那些涉及<file>搜索的日志消息的提交。

答案 2 :(得分:0)

好吧,可能令你困惑的主要事情是git跟踪整个存储库的complate版本,而不仅仅是一个文件。因此,您需要确定哪个版本的存储库具有您要查找的文件的版本,然后回滚到该版本。

如果你只是想要那个旧版本的文件,但想要同时进行存储库所做的所有其他更改,你还需要做更多的工作。

对于像回滚这样的复杂操作,我通常建议使用其中一个GUI工具(比如git gui),因为它们可以让你更好地想象你准备做什么。