“git Push”和“git Push --tags”在同一个命令中?

问题描述 投票:0回答:4

我通常跑步:

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

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

master

阅读手册,我认为

git push all
不是解决方案:

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

--tags:除了命令行上明确列出的 refspec 之外,还会推送 refs/tags 下的所有引用。

git git-push git-tag
4个回答
37
投票

最接近的选项可能是:

git push --follow-tags

推送所有在没有此选项的情况下推送的引用,并推送远程中缺少但指向的引用/标签中的带注释标签 提交可以从被推送的参考中到达。


7
投票

根据

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

所以你可以简单地使用

git push --tags origin HEAD

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

您可以阅读有关别名的更多信息这里


0
投票

从 Git 2.4 开始,您可以使用以下命令同时推送标签和提交:

git push --atomic origin <branch name> <tag>

以下命令将提交与标签引用标签名一起推送到原始主分支:v4.7。

git tag v4.7 -a -m "This the best atomic version ever"
git push --atomic origin master tag-name

参见例如 同时推送 git 提交和标签 SSOGit - 原子推送标签和提交git-push 文档

© www.soinside.com 2019 - 2024. All rights reserved.