Git ребаз, применяя dos2unix на каждом шаге

У меня есть серия коммитов в файле, который, как я теперь понимаю, был создан с неправильными окончаниями строк. Я хочу отменить коммиты и применить dos2unix Команда на каждом этапе. Я не вижу простого способа сделать это, так как после каждого шага git регистрирует полный конфликт с файлом. Есть идеи?

2 ответа

Использование filter-branch,

git filter-branch --tree-filter 'dos2unix filename' master

(Предполагая, что коммиты, которые вы хотите изменить, включены master, Вы также можете использовать более конкретный список имен коммитов вместо применения фильтра ко всей ветви.)

Какая среда использовалась для изменения файла с неправильными окончаниями строк? если это окна, убедитесь, что ваше рабочее пространство использует кодировку UTF-8.

Вы можете управлять этим через git config (см. Ссылку для опции):

git config core.autocrlf true

при значении true конвертирует LF-окончания в CRLF при проверке кода (при работе в Windows)

Дополнительная информация: http://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration

Другие вопросы по тегам