撤消 git reset --hard origin/master [重复]
Posted
技术标签:
【中文标题】撤消 git reset --hard origin/master [重复]【英文标题】:Undo a git reset --hard origin/master [duplicate] 【发布时间】:2015-01-10 22:54:04 【问题描述】:在本地主分支上工作:
git commit -m "Lots of important commits"
git reset --hard origin/master
如何(从远程)检索由于 git reset 而丢失的提交?
编辑:注意这不是关于检索未提交的更改。
【问题讨论】:
您无法从远程存储库中提取该代码,您只能将其提交到本地存储库,然后将其重置为远程存储库。该代码从未被推送到遥控器。我尝试总是在硬重置之前创建一个像“temp”这样的分支,这样我就有一些引用这些提交的东西,以防我意识到我需要它们。 You're pretty much screwed 不是那个的副本,因为这个例子试图恢复提交,而不是未提交的更改。 @Turch 抱歉,这是领先的,我的意思是由于我从远程存储库中错误地拉出,如何检索提交 【参考方案1】:如果你犯了,什么都不会丢失。
如果你有提交的参考,你可以 git reset --hard <sha>
到那个精确的提交。
如果您不这样做,您始终可以在执行硬重置之前使用 git reflog
检索 sha。
例如,如果git reset --hard origin/master
是您运行的最后一个命令,您可以这样做
git reset HEAD@1
【讨论】:
HEROOOOOOOOOOOO! 奇怪的是,这一半起作用了,因为它带回了我已提交并丢失的文件,但没有带回包含该文件的目录(因此我不得不手动重新创建目录)。以上是关于撤消 git reset --hard origin/master [重复]的主要内容,如果未能解决你的问题,请参考以下文章
为啥 git reset --hard 不把我的本地文件改回原来的状态? [复制]
Git add后跟git reset删除了我的所有文件[重复]