30

我通常运行:

git push
git tag v4.7
git push --tags

第一个和第三个操作都连接到服务器,这很浪费时间。
我想通过只推一次来使其更快。什么命令可以实现这一点?
它在 bash脚本中,需要在任何分支中正常运行,而不仅仅是master.

阅读手册,我认为不是git push all解决方案:

--all:不是命名每个要推送的 ref,而是指定 refs/heads/ 下的所有 ref 都被推送。

--tags:除了在命令行上明确列出的 refspecs 之外,所有 refs/tags 下的 refs 都会被推送。

4

3 回答 3

34

最接近的选择可能是:

git push --follow-tags

推送所有将在没有此选项的情况下推送的 refs,并推送远程缺少的 refs/tags 中的注释标签,但指向可从被推送的 refs 访问的 committish。

于 2013-10-16T13:21:36.433 回答
6

根据您的文档,--tags您可以指定要推送的其他参考规范。

所以你可以简单地使用

git push --tags origin HEAD
于 2013-10-16T13:23:29.347 回答
4

您可以创建别名以快速访问此命令:

git config --global alias.p '!git push && git push --tags'

或者

git config --global alias.pa '!git push --all && git push --tags'

现在你可以这样做:

git tag v4.7
git p

您可以在此处阅读有关别名的更多信息

于 2017-02-16T18:35:23.223 回答