我有TFS GIT,我的代码库已上传。我来自TFS背景,在那里我习惯于创建标签以在任何时间点创建我的代码的快照。对于TFS GIT,我发现我需要创建标签。但是这些标签只能在我的开发盒上本地创建。我希望将此标签推送到中央存储库,但是当我在命令提示符下运行此命令时:
git push origin MyTag
我收到此错误
fatal: MyTag cannot be resolved to branch.
Unexpected end of command stream
据我所知,我在主分支上,或者在您上传代码时默认创建的分支。我没有创建任何特定的分支。如何将TAG从一个开发盒推送到TFS服务器,然后在另一个开发人员的盒子上获取?我不认为为每个预期的快照/标签创建一个分支是个好主意。
思想??
答案 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}}