![](/img/trans.png)
[英]Git : How to delete all local branches (merged or not), except master and develop
[英]How to delete all Git remote branches except master?
尋找一個命令來刪除 Git 存儲庫上除 master 之外的所有分支並將它們推送到遠程。
這是為了在發布之前清理 Git 存儲庫,因為以前的歷史分支其他所有內容都完全是開發人員更改,無關緊要。
這將刪除所有分支(除了master
),即使分支中有斜杠“/”:
git branch -r | grep 'origin' | grep -v 'master$' | grep -v HEAD | cut -d/ -f2- | while read line; do git push origin :heads/$line; done;
這將做同樣的事情,只留下develop
和master
分支:
git branch -r | grep 'origin' | grep -v 'master$' | grep -v 'develop$' | grep -v HEAD | cut -d/ -f2- | while read line; do git push origin :heads/$line; done;
這是魚殼的腳本:
git branch -r | grep 'origin' | grep -v 'master$' | grep -v 'develop$' | grep -v HEAD | cut -d/ -f2- | while read line; git push origin :heads/$line; end;
最后,下面的命令對我來說就像魅力一樣,您可以根據進一步的要求對其進行調整。
git branch -r | grep origin/ | grep -v 'master$' | grep -v HEAD| cut -d/ -f2 | while read line; do git push origin :$line; done;
可以使用下面的命令,它將刪除除 master 和當前分支之外的所有分支
git branch | grep -v "master\\|$(git branch --show-current)" | xargs git branch -D
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.