“取消还原”强制 git push [重复]
Posted
技术标签:
【中文标题】“取消还原”强制 git push [重复]【英文标题】:"Un-reverting" a forced git push [duplicate] 【发布时间】:2016-08-27 03:02:01 【问题描述】:这就是发生的事情,我不小心在我们的 Git 存储库中恢复了开发分支,它恢复到上周删除了一周的代码和数据。
这是我用来还原的命令
git reset --hard <revision_id_of_last_known_good_commit>
git push --force
不幸的是,当我运行此命令时我不在我的分支中,它会擦除数据并将 HEAD 设置为 7 天前的状态。
Git 分支:
开发 resetfeature(我的远程分支)我没有恢复远程分支,而是恢复了“开发”分支。 如何恢复丢失的数据?
【问题讨论】:
现在是时候保护那些关键分支不被强制推送了。 【参考方案1】:阅读此处提供的完整答案:
How to move HEAD back to a previous location? (Detached head)
最好的方法是使用git reflog
来恢复您的更改
git reflog
git reflog
将显示更新 HEAD
的任何更改,并且检查所需的 reflog 条目会将 HEAD
设置回此提交。
每次修改 HEAD 时,reflog
中都会有一个新条目
git reflog
git checkout HEAD@...
这会让你回到你想要的提交
因此,请检查您的本地 reflog 以找出您希望恢复到的所需提交,然后检查并分支(再次阅读随附的完整答案如何操作)
【讨论】:
【参考方案2】:我使用本教程恢复了我的数据,
http://effectif.com/git/recovering-lost-git-commits
感谢大家的回答。
【讨论】:
以上是关于“取消还原”强制 git push [重复]的主要内容,如果未能解决你的问题,请参考以下文章