同时推git提交&标签

我意识到git push --tags是一个单独的操作,以旧的git push 。 推送标签应该是有意识的选择,因为您不想意外推送标签。 没关系。 但是有没有办法将两者联系在一起? (除了git push && git push --tags 。)


2015年5月更新

从git 2.4.1开始,你可以做

git config --global push.followTags true

如果设置为true,则默认启用--follow-tags选项。 您可以在推送时通过指定--no-follow-tags来覆盖此配置。

2013年4月更新

自git 1.8.3(2013年4月22日)以来, 您不必再执行2个命令来推送分支,然后推送标签

新的“ --follow-tags ”选项告诉“ git push在推出分支时推送相关的注释标签

现在您可以尝试在推送新提交时:

git push --follow-tags

这不会推送所有的本地标签,只有通过git push提交引用的。

Git 2.4.1+(2015年第2季度)将推出push.followTags选项:请参阅“如何在分支内创建” git push “include标签?”。

原始答案,2010年9月

核选项将是git push --mirror ,它会将refs/所有ref都git push --mirror

您也可以在当前分支提交时只推送一个标签:

git push origin : v1.0.0 

你可以将--tags选项和一个--tags结合起来,例如:

git push origin --tags :

(因为--tags表示: 除了在命令行中明确列出的 --tagsrefs/tags下的所有ref都被推送


你也有这个条目“推送分支和标签与一个单一的”git推“调用”

ZoltánFüzesi在Git邮件列表中发布了一个方便的提示:

我使用.git/config来解决这个问题:

[remote "origin"]
    url = ...
    fetch = +refs/heads/*:refs/remotes/origin/*
    push = +refs/heads/*
    push = +refs/tags/*

用这些行添加git push origin会上传你所有的分支和标签。 如果你只想上传其中一些,你可以列举它们。

还没有尝试过,但看起来它可能是有用的,直到其他方式推动分支和标签在同一时间被添加到git push。
另一方面,我不介意打字:

$ git push && git push --tags

请注意 ,正如Aseem Kishore所评论的那样

push = +refs/heads/*强制推送所有分支

这只是我刚才的,所以FYI。


RenéScheibe增加了这个有趣的评论:

--follow-tags参数具有误导性,因为只考虑.git/refs/tags下的.git/refs/tags
如果运行git gc ,标签将从.git/refs/tags.git/packed-refs 。 之后, git push --follow-tags ...无法按预期工作。

链接地址: http://www.djcxy.com/p/49773.html

上一篇: Push git commits & tags simultaneously

下一篇: How to make local repo to local remote?