Git - обрезать пробелы
Я случайно помещал пробелы в мой первоначальный коммит - он отображается красным в git diff --color
. Каков наилучший способ избавиться от существующих пробелов и как я могу избежать этого снова?
Я не обязательно ищу встроенную команду git. Любая внешняя программа, доступная бесплатно на Ubuntu, также будет приветствоваться.
Ответы
Ответ 1
Чтобы обрезать конечные пробелы во всех файлах в текущем каталоге, используйте:
sed -i 's/[[:space:]]*$//' *
Чтобы предупредить о будущих ошибках пробела (как пробелы и перед вкладками), так и исправить ошибки в пробелах в патчах, добавьте следующий код в gitconfig
файл:
[core]
whitespace = trailing-space,space-before-tab
[apply]
whitespace = fix
Ответ 2
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
).
Ответ 3
Смотрите эту тему git удалите конечные пробелы в новых файлах перед фиксацией, используя git rebase
, чтобы удалить пробелы из файлов, которые вы уже совершили.