如何使用git回滚到之前的提交版本?与git相关的技术问题。

3

我在处理一个文件时,发现我的当前提交出了问题,我想回到早期的提交版本,针对特定的文件进行处理?

我进行了搜索,似乎没有人回答类似的问题(如何在git中将文件恢复到之前一次提交的更改)....

希望有一个简单的答案。

3个回答

3

git reset <commit hash> <filename>


你可能需要提到,假设期望的结果是这样的,那么接下来需要执行 'git add <filename>' 和 'git commit'。 - ebneter
她可能想要使用 git checkout,正如 @progo 的回答所述。 - Aristotle Pagaltzis

3
git checkout <commit-id> file(s)

请注意,它很容易被覆盖,因此请谨慎使用文件通配符,因为它们可能会一次性覆盖多个文件。如需帮助,请查看具有所需文件过滤器的git log消息:

git log <file>

只显示与搜索的<file>相关的提交记录。


是的,谢谢,我想要一个特定的文件,所以听起来我需要使用日志(或者浏览我的托管存储库),获取那个非常长的字符串和文件名...谢谢。 - Satchel

0

嗯,可能让你感到困惑的主要问题是git跟踪整个仓库的完整版本,而不仅仅是一个文件。因此,您需要确定哪个版本的仓库具有您正在查找的文件版本,并回滚到该版本。

如果您只想要那个旧版本的文件,但希望保留仓库在此期间所做的所有其他更改,则需要进行更多的工作。

对于像回滚这样的复杂操作,我通常建议使用其中一个GUI工具(如git gui),因为它们可以让您更好地可视化即将要执行的操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接