【问题标题】:Undo a git reset --hard origin/master [duplicate]撤消 git reset --hard origin/master [重复]
【发布时间】:2015-01-10 22:54:04
【问题描述】:

在本地主分支上工作:

git commit -m "Lots of important commits"
git reset --hard origin/master

如何(从远程)检索由于 git reset 而丢失的提交?

编辑:注意这不是关于检索未提交的更改。

【问题讨论】:

  • 您无法从远程存储库中提取该代码,您只能将其提交到本地存储库,然后将其重置为远程存储库。该代码从未被推送到遥控器。我尝试总是在硬重置之前创建一个像“temp”这样的分支,这样我就有一些引用这些提交的东西,以防我意识到我需要它们。
  • 不是那个的副本,因为这个例子试图恢复提交,而不是未提交的更改。
  • @Turch 抱歉,这是领先的,我的意思是由于我从远程存储库中错误地拉出,如何检索提交

标签: git git-reset


【解决方案1】:

如果你犯了,什么都不会丢失。

如果你有提交的参考,你可以 git reset --hard <sha> 到那个精确的提交。

如果您不这样做,您始终可以在执行硬重置之前使用 git reflog 检索 sha。

例如,如果git reset --hard origin/master 是您运行的最后一个命令,您可以这样做

git reset HEAD@{1}

【讨论】:

  • HEROOOOOOOOOOOO!
  • 奇怪的是,这一半起作用了,因为它带回了我已提交并丢失的文件,但没有带回包含该文件的目录(因此我不得不手动重新创建目录)。
猜你喜欢
  • 2015-09-15
  • 2014-09-03
  • 2018-05-30
  • 2013-03-04
  • 2010-09-05
相关资源
最近更新 更多