簡體   English   中英

如何刪除除master之外的所有Git遠程分支?

[英]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;

這將做同樣的事情,只留下developmaster分支:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM