撤销git推送镜像

Undo git push mirror

我的项目有一个服务器。 我想迁移到 github。 我对 github 进行了 push --mirror。 我检查了是否可以反向进行备份 所以我对我的服务器做了一个 push --mirror 。 但这是我得到的:

To <adresse.git>
 + 1e35d97...3ef6b80 master -> master (forced update)
   c46a188..3ef6b80  origin/HEAD -> origin/HEAD
   c46a188..3ef6b80  origin/master -> origin/master
 - [deleted]         1.0.0
 - [deleted]         1.0.1
 - [deleted]         1.0.2
 - [deleted]         1.0.3
 - [deleted]         1.0.4
 - [deleted]         1.0.5
 - [deleted]         1.1.0
 - [deleted]         1.1.1
 - [deleted]         1.2.0
 - [deleted]         1.2.1
 - [deleted]         1.2_alpha1
 - [deleted]         1.3_alpha1
 - [deleted]         1.4_alpha1
 - [deleted]         4.0.0
 - [deleted]         5.0.0
 - [deleted]         5.0.1
 - [deleted]         xvp_current

我没有注意到(糟糕的错误..)并在今天早上从我的服务器向 github 进行了最后一次推送 --mirror ,最后得到相同的输出.. 这些是我的释放。有什么办法可以取消镜像或取回版本吗?

提前致谢!

好的,这是我的类比:

你去了图书馆,得到了一本关于历史的书(你的 git 存储库的克隆,其中包括所有历史)。

现在,您已经对那本历史书做了很多更改和补充,这可能就是您付钱的目的。

一不小心,你 return 编辑了整本历史书,包括你的补充。

现在您注意到了自己的错误并且有点不高兴,因为您的笔记不适合 public。

你return去图书馆了。如果你对图书管理员好,你甚至可以把书架上的书换成你随身携带的新买的书(从其他地方,或者从你的书的副本中重建它),但你永远不会能够撤销这样一个事实,即在您 return 阅读这本书和您注意到自己的错误之间可能有人已经拿到了这本书。

总而言之:你可以像 git push origin :branch1 那样从原始远程删除 branch1,如果你有权做这样的事情,你甚至可以通过 [= 重写任何分支的历史记录=11=],但这永远不会解决别人看到的东西不能看不见的事实,更糟糕的是,因为他们有 git,只要这些人,它就会在他们的网站上存档想要。

关于您删除标签的事实:好吧,真倒霉。找到你的书的另一副本并从那里推送标签。

我备份了一个项目,然后就做了:

git push --tags