删除以连字符开头的分支

时间:2011-04-19 03:41:39

标签: git

我设法在git中创建了一个名为'-f'

的分支

e.g。

$ git branch
* (no branch)
   -f

如何删除dang的东西? git branch -d -f不起作用,也不会git branch -d'-f'甚至git branch -d -f -f

3 个答案:

答案 0 :(得分:15)

git branch -d -- -f

--符号通常会停止使用许多Linux工具解析命令行选项。

另一种方式是

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

但是git-update-ref相当危险。

答案 1 :(得分:3)

不确定这是否有效,但Unix / Linux风格的命令中的--参数通常告诉命令你已经完成了传递选项,现在你传递了真正的参数:

git branch -d -- '-f'

答案 2 :(得分:0)

我愚蠢地用连字符命名了一个分支,然后检查了主人。我不想删除我的分支,我在其中工作。

这些都没有奏效:

git checkout -dumb-name

git checkout -- -dumb-name

" s,'\也无济于事。

这很有用:进入你的工作副本.git / refs / heads,找到文件名“-dumb-name”(或其他)并获取分支的哈希值。然后:

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name