您可能知道,Git Bash不支持非拉丁字符。这会在创建和使用SSH密钥时导致多次失败(因为路径是俄语)。
有解决方法吗?
答案 0 :(得分:2)
这完全取决于您的HOME指向哪里?
请参阅Issue 491:
总结我的测试,如果Windows用户名具有非ASCII字符:
如果
HOME
环境变量设置为ASCII路径,并且该路径存在,Git Bash会找到它(这是一种可能的解决方法)。如果没有
HOME
环境变量且“HOME
”中的git/etc/profile
常量设置为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编码中的字符组成,则可以暂存和提交(我认为这是西班牙语的ISO-8859-1,英语和大多数西欧Windows系统) 所以,我已经能够暂存和提交名为“
cañón.txt
”的文件 但是,如果路径包含无法在本地Windows编码中表示的Unicode字符,如“C:\My tests\test五.txt
”,则此类文件在Git GUI窗口中出现错误,并在我尝试时出现“no such file or directory
”错误上演他们。