将TAG推送到服务器时出现致命错误

时间:2015-02-10 13:33:49

标签: git tfs tfs2013

我有TFS GIT,我的代码库已上传。我来自TFS背景,在那里我习惯于创建标签以在任何时间点创建我的代码的快照。对于TFS GIT,我发现我需要创建标签。但是这些标签只能在我的开发盒上本地创建。我希望将此标签推送到中央存储库,但是当我在命令提示符下运行此命令时:

git push origin MyTag

我收到此错误

fatal: MyTag cannot be resolved to branch.
Unexpected end of command stream

据我所知,我在主分支上,或者在您上传代码时默认创建的分支。我没有创建任何特定的分支。如何将TAG从一个开发盒推送到TFS服务器,然后在另一个开发人员的盒子上获取?我不认为为每个预期的快照/标签创建一个分支是个好主意。

思想??

1 个答案:

答案 0 :(得分:4)

当只是要求git push origin MyTag时,git需要推送分支名称而不是标记名称(因为它在错误消息中告诉你)

要推送某个标记,您需要指定确切的标记名称:

git push origin refs/tags/MyTag

git push origin tag MyTag

来自man git-push

  

<src>引用的对象用于更新远程端的<dst>引用。 默认情况下,仅当<dst>不是标记(带注释或轻量级)时才允许这样做,并且只有当<dst>可以快进tag <tag>时才允许这样做。   ...
  refs/tags/<tag>:refs/tags/<tag>表示与origin相同。

如果您想将所有标记推送至git push origin --tags ,请执行

{{1}}