[英]GIT: remove remote branches with no local tracking branch
讓我們說git branch -a
輸出這樣的東西:
粗體是遠程存儲庫中的那些分支(X,Y,Z),但我還沒有檢查過它們,我甚至不想這樣做,它們與我沒有參與的項目有關。
是否有命令刪除沒有本地跟蹤分支的所有遠程分支( 保存在MY存儲庫中的遠程分支,而不是遠程中的實際遠程分支 )?
編輯 :我打算刪除保存在我的存儲庫中的遠程分支,顯示遠程分支的存在。 我不想刪除遙控器中的實際分支。
編輯2 :對mattmilten的評論澄清
您可以使用git pull
重新創建所有遠程分支,但我並不總是git pull
。
我經常只是git fetch origin master ABC
,然后合並或改組或做任何我想要的分支主,A,B或C.
點是,每當我“git pull”(由於某種原因),我不想創建所有分支,看起來我沒有簡單的選項可以在之后刪除它們。
不,這是不可能的。 有關(所有)分支的信息是您的倉庫的一部分,並且在創建新克隆時將始終復制。 您需要忽略這些分支或只是運行git branch
以僅列出您的本地分支。
如果刪除有關它們存在的信息,您將如何在以后檢索遠程分支?
我有同樣的問題,但在不同的情況下。 我刪除了一個本地分支實驗1 。 我先忘了git branch --unset-upstream
,所以我還有一個遠程跟蹤分支。 分支實驗1在遠程后被刪除。
后來,當我運行git branch -a
,它會一直顯示在輸出中作為remotes/origin/experiment1
。 git branch --unset-upstream
和git branch --delete
都不會刪除它,因為本地分支已經消失了。 將其作為origin / experiment1而不是experiment1引用也不起作用。
所以這就是我做的:
cd .git/refs/remotes/origin
rm experiment1
並且它不再顯示在輸出和正常的Git同步命令之后按預期工作。
我正在添加這個答案,因為這是互聯網搜索“git刪除沒有本地分支的遠程跟蹤分支”的熱門話題。 此外,這個問題與“刪除跟蹤分支不再在遠程”問題上的不同是不重復的。 如果我寫自己的問題,這個答案回答,那么這個問題就是這個問題的重復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.