В настоящее время я пишу небольшую функцию zsh, которая проверяет все мои репозитории git, чтобы увидеть, загрязнены они или нет, а затем распечатывает те, которые требуют фиксации. До сих пор я понял, что самый быстрый способ выяснить, чистый/грязный статус репозитория Git является через git-diff
и git-ls-files
:git-diff в другом каталоге
if ! git diff --quiet || git ls-files --others --exclude-standard; then
state=":dirty"
fi
У меня есть два вопроса для вас людей:
- DoES кто-нибудь знает более быстрый и эффективный способ проверки изменений/дополнений файлов в git-репо?
- Я хочу, чтобы моя функция zsh передавалась путь к файлу (скажем
~/Code/git-repos/
) и проверяла все репозитории. Есть ли способ обойтись без использования cd в каждом каталоге и запускать эти команды? Нечто вродеgit-diff --quiet --git-dir="~/Code/git-repos/..."
было бы фантастическим.
Спасибо! :)
Будет http://stackoverflow.com/questions/2657935/checking-for-a-dirty-index-or-untracked-files-with-git help? – VonC
@ VonC - это отлично выглядит. Я надеялся, что мне не придется использовать git-status, так как он немного тяжелее, но он позволяет мне указывать «удаленные» каталоги git для просмотра, это может быть мой единственный выбор. – ABach