Как запретить git commit, если есть неотслеживаемые файлы? - PullRequest
4 голосов
/ 20 августа 2010

Иногда имеет смысл запретить git commit, когда есть неотслеживаемые файлы, потому что вы должны добавить их либо в файлы для коммитов, либо в gitignore. И такая опция, как -f для принудительной фиксации, также необходима. Так есть ли опция / плагин / и т.д., чтобы сделать это? Большое спасибо.

1 Ответ

4 голосов
/ 20 августа 2010

Вы можете добавить хук pre-commit , который выходит с ненулевым значением, если вы найдете неотслеживаемые файлы (вы можете проверить вывод git status --porcelain -u, чтобы определить их наличие- искать строки, начинающиеся с "?").Затем вы можете переопределить подтверждение фиксации с помощью git commit --no-verify, если вам не нужны неотслеживаемые файлы.

Редактировать: Благодаря @Jefromi;У меня нет под рукой окружения для тестирования.Он также отмечает, что эта команда должна идентифицировать наличие неотслеживаемых файлов: git status -u | grep '^# Untracked files:$'.

...