为什么git rebase说“致命:不能将etf8转换为utf8”?

时间:2012-07-04 16:08:47

标签: windows git utf-8 rebase

我在Windows机器上使用git,我正在尝试将它与cygwin终端和Git Bash一起使用。当我尝试将主题分支重新命名为master时,我得到以下神秘错误:

☻~/code/project $ git rebase master
First, rewinding head to replay your work on top of it...
fatal: cannot convert from etf8 to utf8

这是什么意思,我该如何解决?谷歌在这方面给我零结果。

我的区域设置为en_US.UTF-8,但我没有任何LC个环境变量。

~ $ env | grep LC
~ $ env | grep LANG
LANG=en_US.UTF-8

这是我正在使用的版本:

~ $ git --version
git version 1.7.9

1 个答案:

答案 0 :(得分:1)

我认为您的存储库中存在一些损坏的文件或混乱的配置。

我的google-fu没有提出名为etf8的字符编码。我认为utf8u,在u字母中有一位错误(第五位):

  • 0111 0101的{​​{3}}代码为0x75或二进制为e
  • 0110 0101的{​​{3}}代码为0x65或二进制为git

在我看来,这是git报告的致命错误的最可能原因。

可以通过编辑repo中的内部文件或一些配置值来修复它(但不幸的是我对{{1}}内部结构感到不舒服,知道在哪里查看)。