为了账号安全,请及时绑定邮箱和手机立即绑定

删除一个名不好的git分支

删除一个名不好的git分支

Git
倚天杖 2019-08-03 07:03:02
删除一个名不好的git分支我知道这不是一个严格意义上的编程问题,但它与git有关。我意外地在git中创建了一个名为--track(合并远程分支时,选项顺序出错)常规命令不起作用:git branch -D "--track"我试着用引号和反斜杠来逃避,但是这两种方法都没有用。有什么想法吗?
查看完整描述

3 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

你试过了吗

git branch -D -- --track

?“--通常是“以下内容不是一个选项,无论其名称如何”的惯例。


从“Unix编程艺术“,分段”命令行选项":

将双连字符识别为停止选项解释和按字面处理所有以下论点的信号也是传统的做法。

在其他(不一定是与Unix相关的)cli(命令行接口)中,您会发现这个约定类似于清除工具:

如果非选项参数以连字符()字符,您可能需要在它前面加上一个双连字符参数,以防止它被解释为选项:

cleartool rmtype -lbtype -- -temporary_label-

这个P18(一个具有宏处理能力和对国际化的特殊支持的快速、灵活的文件预处理程序)也提到了这一点,并很好地描述了该公约背后的一般想法:

传递给命令的所有选项参数都以单个连字符开头。
所有选项参数(如果有的话)必须在所有非选项参数之前。
选项参数的结尾可以使用双连字符,如果非选项参数以连字符开头,则此操作非常有用。用双连字符终止选项参数列表对所有命令都有效,即使是那些不使用任何选项参数的命令。

这个OptionParser用红宝石写的工具也非常清楚地列出了:*

选项解析终止

按照惯例,双连字符是停止选项解释和从字面上读取命令行中其余语句的信号。因此,命令如下:

 app -- -x -y -z

不会“看到”三种模式标志。相反,它们将被视为应用程序的参数:

 #args = ["-x", "-y", "-z"]

注意:有时,它需要三个破折号而不是两个破折号,特别是当CLI严格遵循Gnu选项样式时:

Gnu样式命令行选项提供对选项词(或关键字)的支持,但仍然保持与Unix样式选项的兼容性。
这种样式的选项有时被称为long_options和unix样式选项short_options.
兼容性是通过在LONG_OPTIONS前面加上两个破折号来保持的。

类似于Unix样式的双连字符‘--“,Gnu风格有三连字符”---‘发出停止该选项解析的信号,并将其余文本视为参数(也就是说,从命令行逐字读取)

所以.。如果‘--“是不够的(应该使用Git命令),请尝试”--- '




查看完整回答
反对 回复 2019-08-05
?
白板的微信

TA贡献1883条经验 获得超3个赞

我使用的是msysgit 1.7.0.2,建议的解决方案不起作用:

Git分支-D-轨道#不起作用

没有报告错误,但分支仍然保留。最后,我通过以下方式强行移除了分支机构:

rm.git/参/头/-轨道


查看完整回答
反对 回复 2019-08-05
  • 3 回答
  • 0 关注
  • 372 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信