Managing all of your git repos

There is a tool called myrepos that I just started playing around with today that I’m super excited about because it should keep me from having to code up my own custom solution.

It essentially creates a ~/.myrepos file that I can backup and sync between computers that has metadata about each of the repos you want to keep track of. And then with a single command (mr update) I can have it do a git pull on all of them. There are other things I want to be able to do like see which repos have uncommited code, or code that hasn’t been pushed up that I still need to play around with but overall I’m pretty happy with it and I think it will be a great tool to have to keep things in sync between my laptop and my desktop.

My biggest problem that I want to solve is that sometimes I work on a piece of code in some repo and then I forget about it. Days, weeks, or months later I remember that I worked on it, but now it might be on the wrong computer, or I’m booted into a different OS, and I can’t easily access it because I didn’t back it up. I think ultimately what I want is a script that I can run daily that will give me a report of which repos have un-commited or un-pushed code.