Если вы просто хотите исправить это в одном коммите, а затем оставить его в покое, вы можете сделать что-то вроде:
find . -not \( -path ./.git -prune \) -type f -exec sed -i -e 's/\r//g' {} +
Примечание: это удалит CR из каждого файла в хранилище.Добавьте -name '*.someext'
или другие предложения после -type f
, чтобы настроить экстент поиска.
Если вы хотите редактировать предыдущие коммиты (учтите, что это нарушит других людей, пытающихся объединить свои изменения в вашу ветку!), Выможно использовать git filter-branch
- написать скрипт, который выполняет что-то похожее на вызов find
выше, а затем передать его с помощью чего-то вроде
git filter-branch --tree-filter /full/path/to/myscript.sh master otherbranch
Это переписает историю, удалив любой CR, который когда-либо былхранилище исходного кода.Обратите внимание, что это, скорее всего, сломает git-svn, если вы запустите его для любых коммитов, созданных git-svn.Вы можете использовать что-то вроде trunk..mylocalbranch
только для запуска на локальных коммитах.