При создании патча diff с Git оболочкой в Windows (при использовании GitHub для Windows), кодировка символов патча будет UCS-2 Little Endian в соответствии с Notepad ++ (см. скриншоты ниже).
Как я могу изменить это поведение и заставить Git создавать патчи с ANSI или UTF-8 без кодировки символов спецификации?
Это вызывает проблему из-за того, что исправления с кодировкой UCS-2 Little Endian не могут применяться, я должен вручную преобразовать их в ANSI. Если я этого не сделаю, я получаю "фатальный: непризнанный вход" .
С тех пор я также понял, что мне нужно вручную преобразовать EOL из формата Windows (\r\n
) в UNIX (\n
) в Notepad ++ (Edit > EOL Conversion > UNIX). Если я этого не сделаю, я получаю ошибку "trailing whitespace" (даже если все пробелы обрезаны: "TextFX" > "TextFX Edit" > "Trim Trailing Spaces" ).
Итак, шаги, которые мне нужно сделать для патча, который будет применяться:
- создать патч (вот результат)
- конвертировать кодировку символов в ANSI
- Преобразование EOL в формат UNIX
- применить патч
Пожалуйста, взгляните на этот снимок экрана: