2011-04-19 66 views
4

我設法在git中創建一個名爲'-f'的分支刪除一個以連字符開頭的分支

例如,

$ git branch 
* (no branch) 
    -f 

如何刪除dang事件? 的Git分支-d -f將無法正常工作,也不會分支的git -D「-f」,甚至git的分支-d -f -f

+1

[刪除嚴重命名的Git分支]的可能重複(http://stackoverflow.com/questions/1192180/deleting-a-badly-named-git-branch) – 2011-04-19 03:45:50

回答

13
git branch -d -- -f 

一般--符號將停止的命令行選項解析許多Linux工具。

另一種方式是

git update-ref -d refs/heads/-f 

git-update-ref是相當危險的。

+0

完美運作。謝謝! – UsAaR33 2011-04-19 06:45:46

3

不知道這是否會工作,但在Unix系統中的--參數/ Linux的風格往往命令告訴你完成傳遞選項命令,現在你傳遞真正的參數:

git branch -d -- '-f' 
+0

周圍的報價' - f'是多餘的。 – 2011-04-19 09:23:42

0

我愚蠢地命名了一個以連字符開頭的分支,然後檢出了主人。我不想刪除我的分支,我有工作。

這些都不工作:

git checkout -dumb-name

git checkout -- -dumb-name

" S,' S和\小號沒有幫助。

這個工作:進入你的工作副本的.git/refs/heads,找到文件名「-dumb-name」(或其他)並獲得分支的散列。然後:

git checkout {hash} 
git checkout -b brilliant-name 
git branch -d -- -dumb-name 
相關問題