在最后一次提交之后,我修改了我的工作副本中的许多文件,但我想撤消其中一个文件的更改,即将其重置为与最近的提交相同的状态。
然而,我只想撤消那个文件的工作副本更改,不涉及其他任何内容。
我该如何做到这一点?
然而,我只想撤消那个文件的工作副本更改,不涉及其他任何内容。
我该如何做到这一点?
git checkout
是以前的做法。在2020年更新之后,推荐的方式是:
git restore file.txt
请参考这个重复的答案(确保向下滚动到2020年的更新): https://dev59.com/f10Z5IYBdhLWcg3wlRMV#31281748
git diff --stat HEAD^...HEAD | \
fgrep filename_snippet_to_revert | cut -d' ' -f2 | xargs git checkout HEAD^ --
git commit -a --amend
如果文件已经提交,你可以还原该文件的更改并重新提交,然后将新提交与最后一次提交合并。
git checkout a3156ae4913a0226caa62d8627e0e9589b33d04c -p */SearchMaster.jsp
解析:
a3156ae4913a0226caa62d8627e0e9589b33d04c = 这是提交的哈希值。它在我的个人分支上(不是主分支)。
-p标志是路径。
*/SearchMaster.jsp 是文件名。