В .git/hooks
, я включаю pre-commit
.Я хочу извлечь поставленные файлы в другой каталог.Вот моя команда.
git diff --cached --name-only | grep -E ".*\.(kt|java)" | git --git-dir=.git --work-tree=staged-dir checkout-index -f -q --stdin
Как видите, я фильтрую файлы java и kotlin.Однако приведенный выше код не работает для меня в pre-commit
.Но если я выполняю указанную выше команду в терминале, подготовленные файлы извлекаются в каталог staged-dir
.
EDIT
Когда я удаляю checkout-index
, появляется некоторый вывод.
git diff --cached --name-only | grep -E ".*\.(kt|java)"
проект / A.kt
проект / B.java
РЕДАКТИРОВАТЬ Для структуры проекта
rootProject
|---.git
|---staged-dir