【问题标题】:How to only push a specific tag to remote? [duplicate]如何仅将特定标签推送到远程? [复制]
【发布时间】:2014-06-06 09:45:13
【问题描述】:

有没有像git push --tag tag_a 这样的命令?我只找到git push --tags

【问题讨论】:

  • 这里的文档确实似乎不是很强大。
  • 另见this answer

标签: git


【解决方案1】:

你可以简单地使用:

git push origin tag_a

或者(主要是为了解决标签/分支名称冲突),您可以使用:

git push origin refs/tags/tag_a

【讨论】:

  • 如果tag_a与分支名称相同怎么办?
  • 你试过git push --tags tag_a吗?
  • git push refs/tags/tag_agit push --tags tag_a 似乎都不起作用。
  • 好的,我想通了。 git push remote_name refs/tags/tag_a 将起作用。我错过了远程名称。
  • 现在答案正确吗?
【解决方案2】:

正如Pavel Šimerda所指出的,你可以简单地做

git push <remote> <tag>

我添加了远程&lt;remote&gt; 的规范,这样命令就不会依赖于用户的push.default configuration

这里是 relevant documentation 的摘要,它解释了如何推送特定标签:

git push [<repository> [<refspec>…]]

<refspec>...

&lt;refspec&gt; 参数的格式是……源引用&lt;src&gt;,后跟 冒号:,后跟目标引用&lt;dst&gt;...

&lt;dst&gt; 告诉远程端的哪个 ref 被此推送更新...如果 :&lt;dst&gt; 被省略,与&lt;src&gt; 相同的引用将被更新...

标签&lt;tag&gt;refs/tags/&lt;tag&gt;:refs/tags/&lt;tag&gt;含义相同。

【讨论】:

    猜你喜欢
    • 2014-11-11
    • 1970-01-01
    • 2017-07-12
    • 2015-01-22
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    相关资源
    最近更新 更多