为什么在推送大量标签时git remote会挂断?

时间:2014-06-18 20:29:48

标签: git git-tag bitbucket-server

我正在玩Git,看看我的想法是否可行(基本上跟踪带有前缀标签的许多文件的版本号)。我设置了一个脚本来生成大量文件和版本标签,这给我留下了大约45000个标签。我们正在使用Atlassian Stash作为我们的Git服务器,所以我将我的提交推送到那里的远程存储库没有问题,但是当我去推送标签时,我得到了以下错误。

% git push --tags
fatal: The remote end hung up unexpectedly

如果我用git push tagname-1.0手动推送标签,我可以将它推得很好(尽管需要一点时间)。我目前正在使用bash循环推送所有标签,但此时已运行超过24小时。

使用和/或推送大量标签是否存在一些性能问题或限制?我们的配置是否有可能导致此问题?

编辑1:我刚刚创建了一个本地裸git repo并将我的many-tags repo推送到它。然后我尝试推送标签并得到相同的远程挂机错误,所以我认为这不是Stash的问题。

编辑2:作为临时解决方法,我可以使用以下命令一次推送100个分支:

git tag | xargs -n 100 git push origin

我只是尝试做一个本地克隆,看看我是否将所有标签作为克隆的一部分,并且它花费了相当长的时间(大约一个小时),但所有标签似乎都已正确传输。我尝试第二次克隆到一个新目录,它在一分钟之内更快。也许它重用了一个包文件或者我的机器上有更多可用的资源。

0 个答案:

没有答案