【问题标题】:Using Git Bash on Windows, how do I checkout a branch that begins with a Unicode character?在 Windows 上使用 Git Bash,如何签出以 Unicode 字符开头的分支?
【发布时间】:2020-02-28 11:27:57
【问题描述】:

我正在使用 git bash。

我创建了一个分支,做了一些更改并提交了。当我尝试推动时,它给了我:

错误“引用路径不存在”。

然后我结帐到其他分支并尝试结帐到我的分支,但它说

错误:pathspec 'tabViewComponent' 与已知的任何文件都不匹配 混帐。

我做了git branch,它给了我这样的分支名称:

【问题讨论】:

  • 它没有让我在我的分支中签出,所以我在新分支中签出了保存我工作的最后一次提交并让我在新分支中签出 git checkout -b newbranchname commit-sha-号码

标签: git unicode git-branch git-bash


【解决方案1】:

我建议您在推送之前结帐到该分支并重命名它: 用数字键盘

git checkout ALT+96tabViewComponent
git branch -m ALT+96tabViewComponent:tabViewComponent

ALT+96 上不要忘记加号,如果你得到“`”作为输出,你忘记了加号(Unicode 字符应该是不可见

编辑: ALT+96表示START OF GUARDED AREA,是一个控制字符,你也可以用Alt 0150

如果你是 java 人:

System.out.println("->\u0096<-");

只需复制输出箭头之间的死区

Reference

【讨论】:

  • 您能否编辑问题以添加指向解释ALT+96 含义的参考的超链接?
  • 好了,我花了一些时间找到请求的参考 :)
  • 您需要用数字键盘输入加号。
【解决方案2】:

分支名称以 Unicode 字符 'START OF GUARDED AREA' (U+0096) 开头,这与普通的破折号字符(-)很难区分,只是在我使用的字体上稍宽。

在命令提示符下输入 Unicode 字符的方式因平台而异。您可以从上面链接的页面(或下面的命令)复制它,或使用适合您平台的撰写顺序。

git checkout –tabViewComponent

On Windows, entering Unicode 默认使用

然后可以通过按住 Alt 输入 Unicode 字符,按数字键盘上的 +,然后输入十六进制代码 - 使用数字键盘输入从 0 开始的数字到 9 和 A 到 F 数字的字母键 - 然后释放 Alt

对于分支来说,这不是一个特别友好的名称,因为检查它会带来很多麻烦,并且如果有人尝试使用前导破折号会导致混乱。我强烈建议重命名它以删除前导 U+0096。

【讨论】:

    【解决方案3】:

    参考https://www.htmlsymbols.xyz/unicode/U+0096,我看到分支的名称在其开头包含。你能试试git checkout –tabViewComponent。不确定它是否是一个有效的分支名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 2013-03-23
      • 1970-01-01
      • 2013-03-26
      • 2018-11-27
      • 2021-05-28
      • 2013-05-28
      相关资源
      最近更新 更多