Can';t签出git分支以连字符(-)开始
我克隆了一个git存储库。Can';t签出git分支以连字符(-)开始,git,Git,我克隆了一个git存储库。 此存储库有一个远程分支,类似于功能abc 当我键入git checkout-feature abc时,我得到: error: unknown switch `e' 知道如何签出此分支吗?尝试使用以下语法: git checkout -- -feature-abc 双连字符语法应该有助于git将命令选项与实际的分支名称参数分开,正如我前面在“”中解释的那样 如果不起作用,您可以按照“”中建议的配方操作 进入工作副本的.git/refs/heads,找到文件名“-d
此存储库有一个远程分支,类似于功能abc
当我键入git checkout-feature abc时,我得到:
error: unknown switch `e'
知道如何签出此分支吗?尝试使用以下语法:
git checkout -- -feature-abc
双连字符语法应该有助于git将命令选项与实际的分支名称参数分开,正如我前面在“”中解释的那样
如果不起作用,您可以按照“”中建议的配方操作
进入工作副本的.git/refs/heads,找到文件名“-dumb name”,获取分支的哈希值。然后,这将检查它,用一个合理的名称创建一个新分支,并删除旧分支
- 进入工作副本的
.git/refs/heads
- 查找名为“
-功能abc
”的文件
- 获取分支的散列(
cat
文件)李>
- 然后检查它,用一个合理的名称创建一个新分支,并删除旧分支
最后,我能够在VonC的基础上工作
解决方案1:
git签出-b功能abc原点/-功能abc
解决方案2:
- 进入工作副本的
.git/refs/remotes/origin
- 查找名为“
-功能abc
”的文件
- 获取分支的散列(
cat
文件)
- 然后检查一下,用一个合理的名字创建一个新分支
- 使新分支跟踪远程分支
尝试在名称周围使用引号(“)。@PMF我尝试使用单引号和双引号,但运气不佳。同样的错误。@PMF不同意:git
可执行文件将在argv
中看到相同的字符串。嗯,是的。这不是一个好主意:-(解决方案1在签出中使用“--”不起作用。它给出了错误“错误:pathspec'-feature tipslist'与git已知的任何文件都不匹配。“解决方案2也不起作用。没有文件名'-feature abc'inside'.git/refs/heads',因为我还无法签出该分支。您没有提到该分支是远程分支。我的解决方案将使用origin/-feature abc
而不是-feature abc
。但是+1仍然有效。”。
git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name
git checkout {hash}
git checkout -b feature-abc
git branch --set-upstream-to=origin/-feature-abc feature-abc