How to successfully manage multiple git environments without losing your mind