As you can imagine, while simple and true this is cumbersome and flaky.
That's why I made git-fire; it discovers all your local repositories, handles dirty states, and pushes your branches up in parallel
Some key tech details:
My first project written in Go seemed like the best natural modern fit for integration regardless of architecture or operating system.
A non-blocking streaming pipeline so git-fire can upload while discovering new repos
Well-tested and engineered with 250+ automated tests and reporting system.
Natively interfaces with git and keeping commands simple for long-term stability.
git-fire has a TUI for easy configuration and CLI for flexibility, ease, and automation.
MIT licensed and always OSS.
Additonally, we're launching git-testkit along side it. A go framework for git repository management for automated tests with Python and Java adapters!
Youtube Demo: https://www.youtube.com/watch?v=fu-4n4oW2sI
https://github.com/git-fire/git-fire