Я люблю использовать, git diff -w
чтобы игнорировать различия между пробелами. Но я только что заметил, что он игнорирует даже различия между пробелами в середине строк. Как я мог игнорировать только различия между пробелами, которые появляются в начале (^) или конце ($) строк?
git
diff
whitespace
ignore
ma11hew28
источник
источник
git diff -b
вместо?Ответы:
Для конца строки используйте:
Вместо того, что вы используете в настоящее время:
Для начала линии ... вам не повезло, если вы хотите встроенное решение.
Тем не менее, если вы не возражаете запачкать руки, то где-то там есть довольно старый патч, который добавляет поддержку «--ignore-space-at-sol».
источник
Это старый вопрос, но он все еще регулярно просматривается / нужен. Я хочу предупредить таких читателей, как я, о том, что пробел, упомянутый в вопросе OP, не совпадает с определением Regex, и включает символы новой строки, табуляции и пробела - Git просит вас быть явным. Смотрите некоторые варианты здесь: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Как указано,
git diff -b
илиgit diff --ignore-space-change
будет игнорировать пробелы в конце строки. Если вы хотите, чтобы этот параметр был вашим поведением по умолчанию, следующая строка добавляет это намерение в ваш файл .gitconfig, поэтому он всегда будет игнорировать пробел в конце строки:git config --global core.whitespace trailing-space
В моем случае я нашел этот вопрос, потому что мне было интересно игнорировать «различия пробелов при возврате каретки», поэтому мне нужно было следующее:
git diff --ignore-cr-at-eol
илиgit config --global core.whitespace cr-at-eol
от сюда .Вы также можете установить его по умолчанию только для этого репо , пропустив параметр --global и проверив файл настроек для этого репо. Для проблемы CR, с которой я столкнулся, после регистрации она исчезает, если warncrlf или autocrlf = true в разделе [core] файла .gitconfig.
источник