【问题标题】:Get back code in working copy [duplicate]在工作副本中取回代码[重复]
【发布时间】:2015-02-16 04:32:20
【问题描述】:

我更改了一些文件,但没有使用 git addgit commit,它只是留在工作副本中。
然后我使用 git reset --hard 来强制 HEAD 指针指向前一个提交。目前,我之前更改的文件已被丢弃。所以,我的困惑是:是否有办法恢复更改?

【问题讨论】:

  • 恐怕你把所有未提交的更改都扔掉了
  • 您是否在进行更改和运行git reset --hard 之间备份了系统。如果没有,并且您从未将更改的文件复制到其他地方,那么答案是“否”。

标签: git


【解决方案1】:

无法取回未提交的更改。最好的办法是尝试从编辑器或 IDE 缓存副本。

【讨论】:

    【解决方案2】:

    当您使用git reset --hard 时,您的索引和工作副本都已重置。

    git reset 没有选项的默认行为是保留您的更改,但是当您明确要求 git 以硬方式重置时,您的更改已被删除。据我所知,现在有办法撤销它。

    编辑:我没有尝试过,但是使用git reflog 您可能能够在重置之前看到您的更改。如果这样做,您可以使用 git reset HEAD@{ref_number} 浏览参考文献,例如git reset HEAD@{1}.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      • 2014-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多