在开始回答之前,请仔细阅读这个混乱!
问题:
我用过:
git push --mirror
它从Github中删除了1.x系列中的所有标签!
现状:
这意味着数据存在于远程......
可行的方法:
如果我可以使用所有日志克隆Github repo,包括本地删除的“提交”日志,那么我的“本地”也会删除提交。之后可能是git reflog / rebase / reset练习。
我假设因为远程git是一个完整的repo本身及其showing commits by SHA1 hashes,如果我可以在“远程”事件上运行git reflog / rebase / reset,理论上可能会有效。
请注意我正在寻找纯粹的git方式。手动我们可以下载“标签”(拉链),从SVN恢复(我们在1.x期间使用SVN)
请告诉我您的建议/解决方法。
答案 0 :(得分:1)
我很难理解git中的数据可能会丢失。
我的问题没有答案。我不得不做一些手工工作(从旧的svn档案中复制旧标签+下载一些压缩版本并标记它们等)
所以,如果你这样做:
git push --mirror
到远程服务器远程仓库将成为您当地仓库的完整镜像。如果远程repo具有其他克隆/备份/镜像等,则无法撤消此操作。
当然,我所做的(不小心)是非标准方式,所以git对此不负责......
答案 1 :(得分:-1)
这是撤消git push -mirror
。
答案 2 :(得分:-1)
git push --tags
来自另一个具有所有先前标记的本地git存储库会有所帮助。