2015-02-10 68 views
2

我有我的代码库已上传的TFS GIT。我来自TFS背景,我习惯于在任何时候创建标签以创建我的代码快照。对于TFS GIT,我发现我需要创建标签。然而,这些标签只让我的dev的box.I本地创建想这个标记被推到中央存储库,但是当我在命令提示符下运行以下命令:将TAG推送到服务器时发生致命错误

git push origin MyTag 

我得到这个错误

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

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

想法??

+0

可能重复http://stackoverflow.com/问题/ 5195859/push-a-tag-to-a-remote-repository-using-git) – 2015-02-10 13:53:23

+2

不是它的重复。那个问题是如何推送标签。我已经尝试了相同的命令,并在那里解释并出现错误。我想我正在通过正确的命令,如所接受的答案所示。还有什么可能是错的? – user20358 2015-02-11 10:24:16

回答

4

当只是要求git push origin MyTag,混帐预计要推一个分支名称,而不是一个标签名(因为它告诉你的错误消息)。

为了推动一定标签,你需要指定确切的标签名称:

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 
的[按标签来使用Git远程仓库?(
相关问题