如何丢弃对一个文件的提交更改?

这个问题在这里已经有了答案:

  • 使用Git将特定文件重置或恢复到特定修订版本? 28个答案

  • 结帐签出该提交中的文件。

    当你做git checkout -- filename ,那--只是说“选项结束”,这意味着任何后,该标记是一个参数,而不是一个选项。

    在这种情况下,如果未指定提交,则使用ref HEAD ,因此将采用HEAD中的文件并将其应用于当前提交的文件(这意味着没有真正发生,只是未提交的更改会消失;如果目录很干净,根本没有任何反应)。

    如果指定了提交ID,则该提交的文件将应用于当前文件。


    假设您在5天前提交了一个ID为257d2c7
    在这个提交中,你为你正在写的一首诗(谁说git只对源代码有帮助?)添加了一段诗句,然后你认为它不是很好并删除了它。
    然后你再做几次提交。 但是现在你想要那个特别的诗句,你怎么做到的?

    如下所示:

    $ git stash // save existing changes and clean working directory
    $ git checkout 257d2c7 my-poem.txt // check out your poem from 5 days ago
    $ git stash pop // reapply existing changes and resolve conflicts
    $ ... // continue working
    
    链接地址: http://www.djcxy.com/p/8979.html

    上一篇: How to discard committed changes to just one file?

    下一篇: How to hard reset specific files in git?