在Git中撤消对一个文件的工作副本修改?

在最后一次提交之后,我在工作副本中修改了一堆文件,但是我想撤销对其中一个文件的更改,就像将其重置为与最近的提交相同的状态。

但是,我只想撤销仅一个文件的工作副本更改,而没有其他任何更改。

我怎么做?


您可以使用

git checkout -- file

你可以不使用-- (如nimrodm所示),但如果文件名看起来像分支或标签(或其他版本标识符),可能会感到困惑,所以使用--是最好的。

您还可以检出文件的特定版本:

git checkout v1.2.3 -- file         # tag v1.2.3
git checkout stable -- file         # stable branch
git checkout origin/master -- file  # upstream master
git checkout HEAD -- file           # the version from the most recent commit
git checkout HEAD^ -- file          # the version before the most recent commit

git checkout <commit> <filename>

我今天使用了这个功能,因为我意识到在升级到drupal 6.10之前,我的图标已被覆盖了一些提交,所以我必须恢复它。 这是我所做的:

git checkout 088ecd favicon.ico

只需使用

git checkout filename

这将用当前分支的最新版本替换文件名。

警告:您的更改将被丢弃 - 不保留备份。

链接地址: http://www.djcxy.com/p/4067.html

上一篇: Undo working copy modifications of one file in Git?

下一篇: How can I remove a commit on GitHub?