В нашем git-репо наши файлы иногда заканчиваются дополнительными возвратами каретки в конце строки.Когда я просматриваю файлы в vim, я вижу:
<?xml version="1.0" encoding="utf-8"?>^M
<Root>^M
<Child/>^M
</Root>^M
Эти дополнительные ^M
будут в каждой строке файла.Это вызывает проблемы при слиянии, потому что другая сторона слияния не будет иметь дополнительных ^M
, и мы получим много конфликтов слияния.Передача опций игнорирования пробелов в git merge
, похоже, не помогает, все равно конфликтует весь файл.
Мы используем git config core.autoclrf true
.
Мне нужны две вещи;
- Как найти все эти
^M
в моем репо?Так что я могу использовать некоторые git ls-files | grep <filter here> | sed 's/^M//'
, чтобы избавиться от них. - Как мне определить, как они вводятся?