Решение, которое просто удаляет конечные пробелы из файла, неприемлемо при любых обстоятельствах. Он будет работать в проекте, у которого была эта политика с самого начала, и поэтому нет таких пробелов, что вы не просто добавили себя в предстоящую фиксацию.
Предположим, вы хотите просто не добавлять новые экземпляры конечных пробелов, не затрагивая существующие пробелы в строках, которые вы не редактировали, чтобы сохранить вашу фиксацию без изменений, которые не имеют отношения к вашей работе.
В этом случае, с мерзавцем, вы можете можете использовать скрипт так:
#!/bin/sh
set -e # bail on errors
git stash save commit-cleanup
git stash show -p | sed '/^\+/s/ *$//' | git apply
git stash drop
То есть, мы копить изменения, а затем фильтровать все +
строки в дифф, чтобы удалить их при повторном применении изменения к рабочему каталогу. Если этот командный канал успешный, мы бросаем трюк.
это само по себе не относятся питон – hop 2008-12-11 09:47:52
Используйте мой [DeleteTrailingWhitespace] (http://www.vim.org/scripts/script.php? script_id = 3967). – 2012-06-22 07:21:13
Связанный: [Что является самым простым способом разделить конечные пробелы со всех строк в файле?] (Http://vi.stackexchange.com/q/454/467) на Vim SE – kenorb 2015-02-19 13:07:35