2013-01-24 202 views
0

這就是我正在做的....我如何擺脫遠程分支的起源?還有,這是什麼?無法刪除遠程git分支

[master] /dir: git status 
# On branch master 
nothing to commit (working directory clean) 

[master] /dir: git remote show 
github 

[master] /dir: git branch -r 
    github/master 
    origin/HEAD -> origin/master 

[master] /dir: git branch -rd origin/HEAD 
error: remote branch 'origin/HEAD' not found. 

[master] /dir: git branch -rd origin 
error: remote branch 'origin' not found. 

[master] /dir: git branch -rd origin/HEAD -> origin/master 
-bash: origin/master: No such file or directory 

[master] /Applications/MAMP/htdocs/asanawww: git branch -rd origin/master 
error: remote branch 'origin/master' not found. 

[master] /Applications/MAMP/htdocs/asanawww: git push origin :master 
fatal: 'origin' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly 

我也試過

git gc --prune=now 

沒有運氣

+0

'原點/ HEAD'不是分支,它是一個參考指向'原點/ master'的,這是分支。 – LopSae

回答

3

我很抱歉,我不避風港足夠的聲譽添加評論。

我意識到這確實是一條評論,而不是一個答案,但this問題可能會有所幫助。

解決辦法:

git remote set-head origin -d 
+0

這工作。謝謝。 git remote set-head origin -d –

3

你應該這樣做:

git branch -rd origin/master 

考慮到這個命令將在本地刪除遠程分支,即保存在存儲庫中的'origin/master'引用。如果該分支仍然存在於遠程,那麼當出現拉或提取時,將重新創建「原點/主」參考。

要正確地從遠程刪除它,你可以使用:

git push origin :master 

<local>:<remote>表示法是指<local>參考將被推爲<remote>分支。通過使用:master,您的意思是「無參考」是作爲主人推送的,因此將其刪除。

另一種替代方案是做刪除推:

git push --delete origin master 
+0

感謝您的幫助 - 我嘗試了上述命令並且失敗 - 我相信這是因爲遠程原點不存在? 錯誤:找不到遠程分支'origin/master'。 致命的:'起源'似乎不是一個git倉庫 –