将Git中的更改停止到特定文件

时间:2010-11-16 04:01:33

标签: git

我对存储库中的特定文件进行了一些更改,并提交了这些更改。全部在一次提交下。

在那次提交中,我还对其他几个文件进行了更改。如何取消我对一个特定文件所做的更改,而不是在提交中更改的所有文件?

2 个答案:

答案 0 :(得分:14)

Unstage在这里并不是一个正确的词 - 它指的是从索引(暂存区域)中删除更改,暗示它们尚未提交。

由于您的更改已提交,因此您要问的方法是检查上一次提交中的文件版本:

git checkout HEAD^ path/to/file

HEAD是当前提交,HEAD^HEAD的第一个父级。

答案 1 :(得分:7)

如果您尚未将提交推送到任何地方:

$ git checkout HEAD^ path/to/revert

这将恢复您希望恢复到之前提交时所处状态的路径。 (它将还原您在上次提交时所做的任何更改。)

索引也会更新,所以现在你只需要修改你的提交:

$ git commit --amend