Смежный вопрос Как спрятать неотслеживаемый файл? ответил "отследить файл". Однако это не работает для моих конкретных потребностей.
Я пытаюсь спрятать все, чего нет в индексе, с git stash save --keep-index
, чтобы я мог проверить индекс в своем хуке перед фиксацией. Идея взята из примера "Тестирование частичных коммитов" на странице руководства git-stash. Я хочу убедиться, что то, что я на самом деле совершаю, проходит тесты, а не только то, что находится в рабочем каталоге. Вот что у меня есть:
echo "Running tests on the staging area."
git stash save --keep-index
# configure, build, run tests, clean
git stash pop; true
Кажется, это работает, пока в моем рабочем каталоге не отслеживаются файлы, которые не спрятаны. Некоторые поиски привели к запросу о функциях двухлетней давности: Возможность сохранять неотслеживаемые и / или игнорируемые файлы в stash , но ничего больше.
Должен ли я вообще использовать тайник? Возможно, есть лучший способ с временными ветвями или чем-то еще.