我克隆了一个git存储库
此存储库具有类似 -feature-abc
的远程分支
当我输入git checkout -feature-abc
时,我得到:
error: unknown switch `e'
知道怎么签出这个分支吗?
答案 0 :(得分:10)
尝试使用以下语法:
git checkout -- -feature-abc
双连字符语法应该有助于git将命令选项与实际的分支名称参数分开,正如我之前在“Deleting a badly named git branch”中所解释的那样。
如果不起作用,您可以按照“How do I rename a local Git branch?”
中建议的配方进行操作进入工作副本的.git / refs / heads,找到文件名“-dumb-name”,获取分支的哈希值。然后,这将检查出来,创建一个具有合理名称的新分支,并删除旧分支。
- 进入您的工作副本
.git/refs/heads
,- 找到名为“
-feature-abc
”的文件,- 获取分支的哈希值(
cat
文件)。- 然后检查出来,用一个合理的名字建立一个新的分支,并删除旧分支。
git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name
答案 1 :(得分:7)
最后,我能够根据VonC的Answer开始工作。
解决方案1:
git checkout -b feature-abc origin/-feature-abc
解决方案2:
- 进入您的工作副本
.git/refs/remotes/origin
,- 找到名为“
-feature-abc
”的文件,- 获取分支的哈希值(
cat
文件),- 然后检查出来,用一个合理的名字建立一个新的分支,
- 制作新的分支跟踪远程分支。
git checkout {hash}
git checkout -b feature-abc
git branch --set-upstream-to=origin/-feature-abc feature-abc