我正在处理一个文件,其中我当前的提交最终变坏了,我想回到早期的特定文件提交?
我做了一个搜索,看起来没有人回答过类似的问题(如何在git的先前提交中回滚文件中的更改)....
希望是一个简单的答案?
答案 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),因为它们可以让你更好地想象你准备做什么。