Я случайно поместил некоторый пробел в свою начальную фиксацию - это обнаруживается красный в git diff --color
. Что лучший способ состоит в том, чтобы избавиться от существующего пробела и как я могу избежать этого случая снова?
Я не обязательно ищу встроенную команду мерзавца. Любая внешняя программа, доступная бесплатно на Ubuntu, также приветствовалась бы.
Чтобы обрезать пробелы во всех файлах в текущем каталоге, используйте:
sed -i 's/[[:space:]]*$//' *
Чтобы предупреждать о будущих ошибках пробелов (как пробелы в конце пробелов, так и пробелы перед табуляцией) и исправлять ошибки пробелов в патчах, добавьте следующий код в ваш gitconfig
файл:
[core]
whitespace = trailing-space,space-before-tab
[apply]
whitespace = fix
core. whitespace
указывает git'у отмечать определенные проблемы с пробелами:
trailing-space
предупреждает о пробелах в конце строки или в конце файлаspace-before-tab
предупреждает о пробеле перед табуляцией, используемой для отступаapply.whitespace
используется при применении патча. Он проверяет наличие ошибок пробельных символов (перечисленных выше, в core.whitespace
) и применяет патч после попытки их исправить (т.е. удалить).
Эти опции идут в ~/.gitconfig
-- то есть файл .gitconfig
в корне домашнего каталога вашего пользователя (обычно /home/user/. gitconfig
в Linux, /Users/user/.gitconfig
в Mac OS X, и я не знаю где в Windows, но я предполагаю, что где-то в C:\Documents and Settings\user
).