繁体   English   中英

Git缺少远程上的分支名称

[英]Git missing branch name on remote

我有以下情况,github是我的起源,我看到有一个名为Release1.0分支。 我也在控制台中看到了它:

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

我认为重要的提示,在这里我正在使用Windows,分支名称中的大写字母可能有问题吗? Windows不区分大小写。

更新以反映会checkout快捷方式的边缘情况


这意味着您尚未创建本地分支Release1.0 分支存在于遥控器上,并且您拥有它的跟踪引用-这就是show origin输出告诉您的。

但是,您使用的签出语法对于设置本地分支以跟踪远程分支是不正确的。 只是

git checkout Release1.0

可能会工作。 这是checkout命令中内置的一种特殊情况“快捷方式”,因为通常要从一个可用的远程“复制”分支。 无法使用的情况:

如果有多个具有相同分支名称的远程服务器,则git将不知道要检出哪个远程服务器,因此将拒绝使用该快捷方式。

如果你有一个同名的标签, git会检查出来(处于分离的HEAD状态)。 在这种情况下,您仍然可以创建分支(不使用快捷方式;请参见下文),但是要注意有一个标记和一个具有相同名称的分支。 (在实践中, git对于任何给定命令的行为都有相当明智的规则,并且您始终可以在标记和分支之间进行歧义;但是最好不要考虑这些事情。)

除快捷方式外,另一种方法是创建分支:可以使用-b选项(如错误消息所示),因为这是在checkout操作期间创建分支的更通用的方法。 或者您可以使用git branch

除非发生的事情多于您所阐明的,否则这不是Windows /区分大小写的问题。 请注意,说“ Windows不区分大小写”是没有意义的。 Windows通常使用带有不区分大小写的文件名的文件系统是正确的,如果您尝试创建两个名称相同(大小写除外)的分支,这将导致问题。 但是并没有说分支名称必须全小写(实际上这是区分大小写的一种特殊形式)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM