Обновление
Примечание. Как отмечает VonC, начиная с Git 2.8, маркеры слияния будут , а не вводят окончания строк в стиле Unix в файл стиля Windows * .
Оригинал
Один небольшой сбой, который я заметил в этой настройке, заключается в том, что при возникновении конфликтов слияния строки, добавляемые git для обозначения различий, не имеют окончания строк в Windows, даже когда остальные файл делает, и вы можете получить файл со смешанными окончаниями строк, например:
// Some code<CR><LF>
<<<<<<< Updated upstream<LF>
// Change A<CR><LF>
=======<LF>
// Change B<CR><LF>
>>>>>>> Stashed changes<LF>
// More code<CR><LF>
Это не вызывает у нас никаких проблем (я думаю, что любой инструмент, который может обрабатывать оба типа окончания строки, также будет иметь дело со смешанными окончаниями строки - конечно, все, что мы используем), но это то, что нужно в курсе.
Другая вещь *, которую мы обнаружили, заключается в том, что при использовании git diff
для просмотра изменений в файле, имеющем окончания строк Windows, добавленные строки отображают возврат каретки, таким образом:
// Not changed
+ // New line added in^M
+^M
// Not changed
// Not changed
* Это на самом деле не заслуживает термина «выпуск».