在git镜像期间将标记保存在目标存储库中

时间:2014-01-30 01:24:51

标签: git github

我们正在使用git的镜像功能将OSS存储库镜像到我们自己的github上的git镜像中。然后,我们标记我们在私有镜像中部署的sha修订版,以便我们可以将源与版本相关联。不幸的是,当镜像同步运行时,它会删除目标镜像中的标记b / c它们不存在于源镜像中。有没有办法镜像并保留目标仓库上的标签?

以下是我们在同步脚本中同步的方式。

git clone --mirror https://github.com/usergrid/usergrid.git usergrid_mirror
cd usergrid_mirror
git remote set-url --push origin https://github.com/mycompany/usergrid.git
git push --mirror

当我执行" push --mirror"我的mycompany / usergrid.git中的标签会被删除。

谢谢, 托德

1 个答案:

答案 0 :(得分:0)

与“How to undo “git push --mirror”?”一样,您可以查看reflog,看看是否可以通过这种方式恢复标记。

但更合理的解决方案是:

  • 仅将git push --mirror用于初始化
  • 不要在与OSS回购共同的分支上进行任何提交,只能在新的私有分支上进行提交
  • 每次要更新镜像时,都会使用git push --all更新镜像。