2016-08-23 67 views
-2

我跑git remote remove origin;,在那之後,git log --all --decorate;顯示了origin幾個分支,比如origin/masterorigin/devel混帳 - 刪除遠程後,其分支機構仍然報告

這些都不是當地的分支機構。

我已使用git remote prune origingit remote update --prune,但沒有任何變化。第一個命令修剪本地跟蹤分支,所以我不期望它有幫助。第二個命令是「修剪所有更新的遙控器」,並且origin實際上沒有更新;也許這就是爲什麼它不修剪回購?

我該如何讓git完全忘記這個存儲庫?

+0

'git remote -v' list'origin'? – Roman

+0

同時顯示'git show-ref'的輸出。 – Roman

+0

我試圖重現這一點,並沒有發生。 'git remote remove origin;'具有所需的效果,使得'git log --all --decorate;'不顯示遠程分支。 –

回答

-1

我不知道如何與客戶的git做到這一點,但也許你會想是

cd .git; 
rm -rf origin; 
cd refs/remotes; 
rm -rf origin; 

這將在git log --all --decorate;擺脫所有的分支名稱,但我我不確定它是否安全。

-1

要查看您的遙控器正在發生什麼,請使用git remote -v命令。它會產生這樣的:

$ git remote -v 
bakkdoor https://github.com/bakkdoor/grit (fetch) 
bakkdoor https://github.com/bakkdoor/grit (push) 
cho45  https://github.com/cho45/grit (fetch) 
cho45  https://github.com/cho45/grit (push) 
origin [email protected]:mojombo/grit.git (fetch) 
origin [email protected]:mojombo/grit.git (push) 

說你想刪除遠程cho45回購,做到以下幾點:

$ git remote rm cho45 

然後確認:

$ git remote -v 
bakkdoor https://github.com/bakkdoor/grit (fetch) 
bakkdoor https://github.com/bakkdoor/grit (push) 
origin [email protected]:mojombo/grit.git (fetch) 
origin [email protected]:mojombo/grit.git (push) 

如果你想你的本地git忘記REMOTE回購,那麼你可以使用下面的過程。但是,它會烘托回購,真的確定你想要。

cd cho45/.git 
rm -rf origin 
cd refs/remotes 
rm -rf origin 
+0

沒錯,那就是我所看到的。我更關心git log的輸出--all --decorate;我看到起源的枝條仍然在那裏。我如何讓它們消失? –

+0

在本地回購? – WPrecht

+1

如果您希望您的LOCAL git忘記REMOTE回購,那麼@ Limited的回答就是要走的路。但是,它會烘托回購,真的確定你想要。 – WPrecht