你可能知道,Git Bash不支持非拉丁字符。 这在创build和使用SSH密钥时会导致多重失败(因为path是俄语)。
有没有解决方法?
这完全取决于你的HOME在哪里指向?
见问题491 :
总结我的测试,如果Windows用户名有非ASCII字符:
如果
HOME
环境变量设置为ASCII路径,并且该路径存在,Git Bash会找到它 (所以这是一种可能的解决方法)。如果没有
HOME
环境变量,并且“git/etc/profile
”中的HOME
常量设置为ASCII路径,并且该路径存在,则Git Bash会找到它。 行为似乎与1中的完全相同。如果
HOME
环境变量设置为非ASCII路径(如“C:\Höme
”),则Git Bash不会找到它。 它试图回退到C:\Documents and settings\[User Name]
目录,但是它无法找到它,因为它压倒了[User Name]
的非ASCII字符。在
HOME
系统环境变量(或git/etc/profile
的常量)设置为完全ASCII路径之后,Git Bash会查找主目录,但仍然会在显示的消息中破坏用户名。我第一次运行Git GUI时,当我尝试着手提交和提交一个文件时,有一个错误提示在提交消息中有无效的utf-8字符。
解决方法在于打开Edit->Options
对话框,并在相应的编辑框中输入有效的用户名和电子邮件地址 。
看来,Git是基于我的信息和用户名和电子邮件组成一个扩展的消息。 由于这些字段是空的,它似乎试图从Windows用户名中生成默认值,但它可能会检索到我的系统上的ISO-8859-1字符串,然后代码的另一部分预计这是有效的utf-8,但事实并非如此。如果用户名和电子邮件字段留空,当尝试在“编辑” – >“选项”对话框中修改某些选项时,我还遇到了上面的图像“error2.jpg”中显示的错误。 但是,这个错误并不总是发生,我不确定导致它的确切步骤。
在设置
HOME
变量和用户名和电子邮件地址之后,除了下一个之外,我可以毫无问题地工作。如果非ASCII路径和文件名由本地Windows编码中的字符组成 (我认为对于西班牙语,英语和大多数西方欧洲的Windows系统是ISO-8859-1), 则可以对其进行分段和提交 。
所以,我已经能够阶段并提交一个名为“cañón.txt
”的文件。
但是,如果路径中包含的Unicode字符不能在本地Windows编码中表示,例如“C:\My tests\test五.txt
”,则这些文件在Git GUI窗口中出现损坏,并给出“no such file or directory
“当我尝试着演出的时候错误了。