2017-06-20 226 views
0

如何從GIT repo中刪除我的所有本地分支機構。有什麼指令嗎? 。我不希望它通過命令git branch -D/-d branch-name一個接一個。如何從GIT repo中刪除我的本地分支機構

+2

你是指你機器上的本地分支機構或遠程追蹤分支機構? –

+0

可能的重複[如何在本地和遠程刪除Git分支?](https://stackoverflow.com/questions/2003505/how-do-i-delete-a-git-branch-both-locally-and - 遠程) – Doryx

+0

我的問題與此不同。謝謝您的幫助。 –

回答

2

要刪除(或 「修剪」)地方分支機構不在回購

git remote prune origin 

修剪

刪除下<名稱的所有陳舊跟蹤分支機構>。這些陳舊的分支已從名稱爲< name>的遠程存儲庫中刪除,但仍在本地「遠程/ <名稱>」中可用。

使用--dry-run選項,報告將修剪哪些分支,但是不會實際修剪它們。

+0

刪除分支的本地副本不會被刪除。 –

3

上是原產

刪除當分支可以在origin刪除分支刪除的信息,你的本地庫不會採取的通知書。

你將仍然有你的本地緩存版本的這些分支(這實際上是好的),但git branch -a仍將列出它們作爲遠程分支。

您可以在本地清理的信息是這樣的:

git remote prune origin 

你刪除分支的本地副本不受此刪除。

同樣的效果是通過使用

git fetch --prune 

你也可以設置實現作爲默認值。

0

這聽起來像是你要求一種方法來刪除自己的分支train如果有一個origin/train在一個點上,並且現在不再有origin/train。 (a)有些危險,(b)很難做到(因爲沒有內建的東西來記住「有一個origin/train」),但是如果你重新定義了這個問題,它就不那麼困難了。它仍然是危險的。這意味着你要告訴你的軟件自動銷燬信息不管是否丟失了你不想銷燬的信息。例如,您可能在最後一天或兩天內投入了大量工作到train,然後有人刪除上游origin/train,但沒有意識到您正在處理它。現在你告訴你的Git刪除你的train,而不會給你一個機會還原origin/train,你失去了你剛做的工作。

(你可以得到你的工作回來,通過HEAD引用日誌,但它不是一個很好的計劃,這就是爲什麼我稱之爲「有點危險」。)

要查看的方式來刪除已失去分支機構它們的上游(例如,,在運行git remote prune origingit fetch --prune origin後),見Remove local branches no longer on remote