# Git git4all() { find . -mindepth 1 -maxdepth 3 -type d -name '.git' -prune -exec sh -c 'echo ${0%?????}; git -C ${0%?????} $1' {} "$1" \; } alias push-all='git4all "push" \;' alias pull-all='git4all "pull --ff-only --all" \;' alias fetch-all='git4all "fetch --all" \;' alias status-all='git4all "status -s" \;'
This is just the initial release, as I'm using it more myself I'll refine it further.