GitGot: The Swiss Army Chainsaw of Git Repo Management

Most programmers end up with a large number of source code repositories scattered across multiple systems. Keeping those up to date and in sync, and ensuring that you didn’t commit something locally somewhere and then forget to push it up to the master repo, can be way more time consuming and error prone than you would like.

GitGot is a simple tool that makes it easier to manage a variety of repositories in a batch-oriented fashion. You can, for example, easily get a listing of all the repositories on a given machine that aren’t in a “clean” state. You can sync all managed repositories with their upstream remotes with a single command. Further, Got supports extensions that make it trivial to get a shell or a tmux session opened up inside a given repository’s directory, even if you can’t quite remember the exact path to that repo at the moment.

My talk will cover the genesis of the tool, as well as basics of installation, setup, and daily usage.