Я пишу скрипт для запуска таких вещей, как git status
, в каждом из подкаталогов текущего каталога, чтобы я мог быстро получить информацию о нескольких репозиториях git.Однако я хочу предотвратить любые команды, которые изменяют репо.Я бы не хотел совершать десять репо одновременно.Я не могу просто использовать белый список подкоманд git, потому что мне может потребоваться запустить git branch -a
, чтобы увидеть ветви в каждом репо, а не git branch new-branch-name
, чтобы создать новую ветку в каждом репо.
Так есть ли способ запустить git, чтобы он мог прервать работу вместо внесения каких-либо изменений в репозиторий, но нормально работать при выполнении команд только для чтения?
Редактировать: Что я хочу сделатьэто сделать команду git-subdirs, которая работает следующим образом: когда я набираю git subdirs COMMAND ARGS
, я хочу сделать что-то вроде for dir in */; do cd $dir && git COMMAND ARGS && cd ..; done
(только с дополнительной проверкой ошибок).За исключением того, что если git COMMAND ARGS
будет каким-либо образом изменять репо, я не хочу этого делать, потому что крайне маловероятно, что я захочу внести одно и то же изменение во многие разные репо.