В настоящее время я пишу небольшую zsh-функцию, которая проверяет все мои git-репозитории, чтобы определить, грязные они или нет, а затем распечатывает те, которые требуют фиксации. До сих пор я выяснил, что самый быстрый способ выяснить состояние очистки / грязи в репозитории git - через git-diff
и git-ls-files
:
if ! git diff --quiet || git ls-files --others --exclude-standard; then
state=":dirty"
fi
У меня к вам два вопроса:
- Кто-нибудь знает о более быстром и эффективном способе проверки изменений / дополнений файлов в git-репо?
- Я хочу, чтобы моя функция zsh передавала путь к файлу (скажем,
~/Code/git-repos/
) и проверяла все репозитории в нем. Есть ли способ обойтись без CD в каждый каталог и выполнить эти команды? Нечто подобное git-diff --quiet --git-dir="~/Code/git-repos/..."
было бы фантастическим.
Спасибо! :)