GIT使用技巧
git tag -l | xargs git tag -d
#删除所有本地分支
git fetch origin --prune
#从远程拉取所有分支信息
git push origin --delete fixbug-1.0.0.1
# 删除远程分支
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
#获取远程所有分支到本地
tag常用git命令:
git tag
#列出所有tag
git tag -l v1.*
#列出符合条件的tag(筛选作用)
git tag
#创建轻量tag(无-m标注信息)
git tag -a -m 'first version'
#创建含标注tag
git tag -a f1bb97a(commit id)
#为之前提交打tag
git push origin --tags
#推送所有本地tag到远程
git push origin
#推送指定本地tag到远程
git tag -d
#删除本地指定tag
git push origin :refs/tags/
#删除远程指定tag
git fetch origin
#拉取远程指定tag
git show
#显示指定tag详细信息
批量删除本地分支
git branch -a | grep -v -E 'master|develop' | xargs git branch -D
批量删除远程分支
git branch -r| grep -v -E 'master|develop' | sed 's/origin\///g' | xargs -I {} git push origin :{}
如果有些分支无法删除,是因为远程分支的缓存问题,可以使用git remote prune
批量删除本地tag
git tag | xargs -I {} git tag -d {}
批量删除远程tag
git tag | xargs -I {} git push origin :refs/tags/{}
用到命令说明
grep -v -E
排除master 和 develop
-v 排除
-E 使用正则表达式
xargs 将前面的值作为参数传入 git branch -D
后面
-I {} 使用占位符 来构造 后面的命令
参考
https://blog.csdn.net/wei371522/article/details/83186077
https://www.cnblogs.com/yoable/p/8124343.html