Это относится к динамическому функциональному модулю, который позволяет вам отделить определенные функции и ресурсы от базового модуля вашего приложения и включить их в комплект вашего приложения. Это позволяет пользователям загружать и устанавливать эти модули / компоненты по требованию (все равно требуется установить базовый SDK).
Для получения более подробной информации, вы можете обратиться к официальному документу для динамической функции
Это, вероятно, непосредственно не решит Вашу проблему, но Вы могли бы хотеть установить тех, которые через конфигурацию мерзавца в Вашем фактическом пространстве проекта, которое редактирует./.git/config в противоположность ~/.gitconfig. Хороший для хранения настроек последовательными среди всех участников проекта.
git config core.whitespace "trailing-space,space-before-tab"
git config apply.whitespace "trailing-space,space-before-tab"
Я оставил бы эту задачу Вашему любимому редактору.
Просто устанавливает команду для удаления конечных пробелов при сохранении.
Те настройки (core.whitespace
и apply.whitespace
) не должны туда удалять запаздывание пробела, но к:
core.whitespace
: обнаружьте их и повысьте ошибки apply.whitespace
: и разделите их, но только во время патча, не "всегда автоматически"Я верю git hook pre-commit
сделал бы лучшее задание для того (включает удаление, запаздывающее пробел),
Обратите внимание, что в любой момент времени можно принять решение не работать pre-commit
рычаг:
git commit --no-verify .
cd .git/hooks/ ; chmod -x pre-commit
Предупреждение: по умолчанию, a pre-commit
сценарий (как этот), не имеет, "удаляют запаздывание" функции", а функции "предупреждения" как:
if (/\s$/) {
bad_line("trailing whitespace", $_);
}
Вы могли однако создать лучшее pre-commit
рычаг, особенно когда Вы полагаете что:
Фиксация в Мерзавце только с некоторыми изменениями, добавленными к району сосредоточения войск все еще, приводит к “атомарному” пересмотру, который никогда не мог существовать как рабочая копия и не может работать.
Например, oldman делает предложение в другом ответе a pre-commit
рычаг, который обнаруживает и удаляет пробел.
Так как тот рычаг получает имя файла каждого файла, я рекомендовал бы быть осторожным для определенного типа файлов: Вы не хотите удалять запаздывание пробела в .md
(скидка с цены) файлы!
Я обнаружил ловушку предварительной фиксации git , которая удаляет завершающие пробелы .
#!/bin/sh
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"
git add "$FILE"
done
exit