Что происходит в this pre-commit hook? Я думал, что изменение файлов приведет к их перестановке.Как это фиксировать привязку для фиксации завершающего пробела?
#!/bin/sh
#
# A git hook script to find and fix trailing whitespace
# in your commits. Bypass it with the --no-verify option
# to git-commit
#
if git-rev-parse --verify HEAD >/dev/null 2>&1 ; then
against=HEAD
else
# Initial commit: diff against an empty tree object
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi
# Find files with trailing whitespace
for FILE in `exec git diff-index --check --cached $against -- | sed '/^[+-]/d' | sed -r 's/:[0-9]+:.*//' | uniq` ; do
# Fix them!
sed -i 's/[[:space:]]*$//' "$FILE"
done
# Now we can commit
exit
Я думаю, что идея состоит в том, чтобы удалить конечные пробелы во всех файлах, которые совершает этот штрих.
Любая модификация * указателя * принимается во внимание, да. Тем не менее, вам все равно нужно «git add» любой файл, который вы изменяете внутри «pre-commit». – sschuberth