git is a very powerful and flexible tool. With this power and flexibility comes a daunting amount of choices to make in how to manage your code with it. Here is the current setup I’ve used on both personal solo projects and professional jobs with other developers that has worked for me and saved me a lot of headaches.