繁体   English   中英

覆盖存储库---force push

[英]Overwrite repositories - --force push

我有很大的问题,我使用了命令:

git push --force origin master
git reflog
f8037dd HEAD@{11}: commit (initial): doc

现在我有1次提交,如何恢复最近的25次提交? Veeeryy谢谢您的帮助:))

我不知道为什么在您的本地仓库中只有一个提交,为什么需要强制覆盖远程仓库。

git push --force将覆盖您的远程仓库,这是一个危险的命令,必须小心。

是否存在其他分支机构或其他贡献者有一份回购副本?

答案是:永远不要使用push --force ,除非您有意识地想要破坏存储库或其一部分。

如何从中恢复? 如果在push -f之后没有弄乱本地副本,请运行:

git fsck --unreachable --dangling | sed -n -e '/^unreachable commit / { s/unreachable commit \(.*\)/tag_\1 \1/; p} ' | xargs -L1 git tag

寻找新标签-gitk或gitg可能会有所帮助-并从中恢复。 祝好运。


顺便说一句,我刚刚注意到您在其他答案下已经声明您有其他本地存储库。 如果您在该存储库中拥有历史记录,为什么不推送提交?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM