我有以下情况,github是我的起源,我看到有名为xyz@yxz MINGW64 /c/myreponame (Development)
$ git remote show origin
* remote origin
Fetch URL: https://github.com/myorganization/myreponame
Push URL: https://github.com/myorganization/myreponame
HEAD branch: Development
Remote branches:
Release1.0 tracked
Development tracked
的分支。我也在我的控制台中看到它:
xyz@yxz MINGW64 /c/myreponame (Development)
$ git checkout --track Release1.0 origin/Release1.0
fatal: Missing branch name; try -b
但是当我尝试切换到那个分支时,我看到了:
attachment_url
我认为重要的注意事项,这里我使用Windows,可能是分支机构名称中的大写有问题吗? Windows不区分大小写。
答案 0 :(得分:3)
更新以反映会混淆checkout
快捷方式的边缘案例
这意味着您尚未创建本地分支Release1.0
。分支存在于遥控器上,你有一个跟踪参考 - 这是show origin
输出告诉你的内容。
但是您正在使用的结帐语法对于设置本地分支以跟踪远程分支是不正确的。简单地
git checkout Release1.0
可能会奏效。这是一个特殊情况"捷径"内置于结帐命令中,因为想要"复制"一个可用遥控器的分支。它无法工作的案例:
如果有多个具有相同分支名称的遥控器,那么git将不知道要检出哪个,因此将拒绝使用该快捷方式。
如果你有一个同名的标签, git会检查出来(处于分离的HEAD状态)。在这种情况下,您仍然可以创建分支(没有快捷方式;请参见下文),但要注意具有相同名称的标记和分支。 (实际上git
对于任何给定命令的行为方式都有相当明智的规则,并且你总是可以消除标签和分支之间的歧义;但最好不要想想这些事情。)
另一种方式,除了快捷方式之外,创建分支:您可以使用-b
选项(如错误消息所示),因为这是在a期间创建分支的更一般方式。 checkout
操作。或者您可以使用git branch
。
除非你的拼写超出了你的范围,否则这不是Windows /区分大小写的问题。请注意,说" Windows不区分大小写"没有意义。 Windows通常使用具有不区分大小写的文件名的文件系统是正确的,如果您尝试创建两个除了大小写以外的名称相同的分支,这将导致问题。但没有什么说分支名称必须全部小写(这实际上是区分大小写的一种特殊形式)。