批次推送 git tag
git tag batch push
# 批次推送所有带有 `v` 的 tag
git tag | grep 'v' | xargs -n 1 -I% git push origin %
# 推送全部 branch 到 remote
git fetch --all
for b in `git branch -r | grep -v -- '->'`; do git branch --track ${b##origin/} $b; done
git pull --all
git push --all origin
# 推送所有 tag 到 remote
git push --tags origin
详解
git tag
列出所有的 tag ,例如如下
v0.0.1
v0.0.2
v0.0.3
0.0.4
使用 grep
获取特定tag的 前缀,例如下面的命令,获取的是包含 v
的 tag
git tag | grep 'v'
使用 xargs
批次执行,先使用 echo
输出 tag,确定 tag。
git tag | grep 'v' | xargs -n 1 -I% echo 'git push origin %'
再写出批次推送的命令
git tag | grep 'v' | xargs -n 1 -I% git push origin %
推送所有的 tag
去掉 grep
命令即可
git tag | xargs -n 1 -I% git push origin %