【问题标题】:How to recover file after `git rm abc.c`?如何在`git rm abc.c`之后恢复文件?
【发布时间】:2012-07-30 18:06:53
【问题描述】:

我应该删除另一个带有git rm abc.c 的文件。但是我删错了。 如何恢复?

现在,当我发出 git status 时,它说

deleted:   abc.c

顺便说一句,我现在还有其他未提交的更改。

【问题讨论】:

    标签: git git-rm


    【解决方案1】:

    您需要执行两个命令,第一个将“取消暂存”文件(将其从准备提交的文件列表中删除)。然后,您撤消删除。

    如果您阅读了git status 命令的输出(在使用git rm 之后),它实际上会告诉您如何撤消更改(在每个步骤后执行 git status 以查看此内容)。

    取消暂存文件:

    git reset HEAD <filename>

    恢复它(撤消删除):

    git checkout -- <filename>

    【讨论】:

      【解决方案2】:

      首先你需要在索引中重置abc.c的状态:

      git reset -- abc.c
      

      那么你需要在你的工作树中恢复abc.c

      git checkout -- abc.c
      

      【讨论】:

        【解决方案3】:

        如果你不小心做了

        git rm -rf .
        

        并删除所有,您可以这样做恢复它。

        git status
        git reset HEAD .
        git checkout -- .
        

        首先做git status 看看你删除了哪些文件。 第二次重置 HEAD 以使用 git reset HEAD . 取消暂存所有文件 最后,你可以通过git checkout -- .恢复所有文件

        【讨论】:

          【解决方案4】:

          如果你不小心使用 git delete 命令 'rm' 删除了文件并想要恢复,那么使用命令:

          git reset HEAD^<filename>
          

          恢复文件

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-01-08
            • 2019-06-01
            • 1970-01-01
            • 2011-06-28
            • 2011-08-19
            • 2014-05-02
            • 1970-01-01
            • 2021-11-09
            相关资源
            最近更新 更多