撤销Git中一个文件的工作副本修改

2039
在最后一次提交之后,我修改了我的工作副本中的许多文件,但我想撤消其中一个文件的更改,即将其重置为与最近的提交相同的状态。
然而,我只想撤消那个文件的工作副本更改,不涉及其他任何内容。
我该如何做到这一点?
15个回答

5

对我而言,只有这一个有效

git checkout -p filename

enter image description here


4

1
如果您尚未推送或分享您的提交:
git diff --stat HEAD^...HEAD | \
fgrep filename_snippet_to_revert | cut -d' ' -f2 | xargs git checkout HEAD^ --
git commit -a --amend

0

如果文件已经提交,你可以还原该文件的更改并重新提交,然后将新提交与最后一次提交合并。


1
添加特定的命令以供使用将有助于原帖作者和未来的访问者。 - Adrian

-4
git checkout a3156ae4913a0226caa62d8627e0e9589b33d04c -p */SearchMaster.jsp

解析:

a3156ae4913a0226caa62d8627e0e9589b33d04c = 这是提交的哈希值。它在我的个人分支上(不是主分支)。

-p标志是路径。

*/SearchMaster.jsp 是文件名。


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