代码之家  ›  专栏  ›  技术社区  ›  Alex

将Git中的更改取消存储到特定文件

git
  •  5
  • Alex  · 技术社区  · 14 年前

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

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

    2 回复  |  直到 13 年前
        1
  •  14
  •   Cascabel    14 年前

    unstage并不是一个正确的词,它指的是从索引(临时区域)中删除更改,这意味着它们还没有被提交。

    由于您的更改已提交,因此您要问的是如何从以前的提交中签出文件的版本:

    git checkout HEAD^ path/to/file
    

    HEAD 是当前提交,并且 HEAD^ 是的第一个家长 .

        2
  •  7
  •   cdhowie    14 年前

    如果您还没有在任何地方推动提交:

    $ git checkout HEAD^ path/to/revert
    

    这将恢复您想要恢复到上次提交时的状态的路径。(它将恢复您上次提交时所做的任何更改。)

    索引也将被更新,所以现在您只需修改您的提交:

    $ git commit --amend