如何让“git push”在分支中包含标签?
  在获取单个分支时, git fetch包含指向分支的所有标记: 
当refspec将提取的结果存储在远程跟踪分支中时,会自动跟随指向这些分支的标记。 这是通过首先使用给定s从远程获取,并且如果存储库具有远程标签所指向的对象,然后获取那些缺少的标签。 如果另一端有标签指向你不感兴趣的分支,你将不会得到它们。
  有没有什么办法让git push按照同样的方式行事?  该手册页说明如何在命令行上推送无标签(默认),所有标签( - --tags )或您的名称。  它没有办法推动所有指向分支的人。 
你可以用git1.8.3 +(2013年5月)试试:
git push --follow-tags
  新的“ --follow-tags ”选项告诉“ git push ”在推出分支时推送相关的注释标签。 
这不会推送所有标签,但只能从您正在推送的分支(HEAD)中访问。
正如“使用Git将标签推送到远程存储库?”中所述,这只涉及带注释的标签,而不涉及轻量级标签。
  git tag 1.0 (轻量级)不会被--follow-tags推,它会与git push --tags --follow-tags 。 
使用Git 2.4.1+(Q2 2015),该选项可以设置为默认值。
  请参阅Dave Olszewski( cxreg )的commit a8bc269: 
  可以更容易地添加新的配置位,然后添加push.followTags配置,默认情况下会--follow-tags选项。 
该文件将包括:
push.followTags::
  如果设置为true,则默认启用' --follow-tags '选项。  您可以在推送时通过指定' --no-follow-tags '来覆盖此配置 
  请全局启用此设置,您可以运行git config --global push.followTags true 。  它也可以在每个存储库的基础上指定。 
