git:只推送特定标签
AFAIK, git push --tag
将refs / tags下的每个标签推送到远程。 我想知道是否有办法在git中只推送一些匹配通配符或正则表达式的标签?
例如,我的回购标签有v1.0
, v1.1
, v2.0
和v2.1
。 我只想推v2.*
。 我试过了
git push <repo> refs/tags/v2.*
并得到错误
致命:refspec的远程部分在refs / tags / v2中不是有效的名称。*
当然,我可以随时做
cd .git && ls refs/tags/v2.* | xargs git push <repo>
但是这并没有味道。
git tag | grep '^v2.' | xargs --no-run-if-empty git push <repo>
.git
可能不是目录,它可能根本就不存在。 子模块有指向根存储库的文件。 或者你可以将GIT_DIR
设置到别的地方。