相关疑难解决方法(0)

Windows中的Git Shell:补丁的默认字符编码是UCS-2 Little Endian - 如何在没有BOM的情况下将其更改为ANSI或UTF-8?

在Windows中使用Git Shell创建diff补丁(当使用GitHub for Windows时),根据Notepad ++ ,补丁的字符编码将是UCS-2 Little Endian(参见下面的屏幕截图).

如何更改此行为,并强制git使用ANSI或UTF-8创建没有BOM字符编码的补丁?

它会导致问题,因为无法应用UCS-2 Little Endian编码补丁,我必须手动将其转换为ANSI.如果我不这样做,我会收到"致命:无法识别的输入"错误.

创建git补丁

Notepad ++字符编码的截图


从那时起,我也意识到我必须在Notepad ++(编辑> EOL转换> UNIX)中手动将EOL从Windows格式(\r\n)转换为UNIX(\n).如果我不这样做,我会得到"尾随空格"错误(即使修剪了所有空格:"TextFX">"TextFX Edit">"Trim Trailing Spaces").

那么,我需要为要应用的补丁执行以下步骤:

  1. 创建补丁(这是结果)
  2. 将字符编码转换为ANSI
  3. EOL转换为UNIX格式
  4. 应用补丁

请看一下这个截图:

使用Git在Windows Powershell中应用补丁是有问题的

git powershell encoding github

38
推荐指数
3
解决办法
1万
查看次数

标签 统计

encoding ×1

git ×1

github ×1

powershell ×1