I began as a self taught programmer, where I learned the art of debugging. When I finally made my way into school at the University of Utah, it didn't take much for me to refine the finer art of computer science methodologies. I have been working professionally now for over 7 years. Throughout that time I have contributed to many OSS projects including FubuMVC, Ripple, React-Bootstrap, Karma, and Selenium, I have also championed other OSS projects.
I have been using git as my primary SCM daily for 5 years. I prefer a rebase approach, with the goal of a linear history. However, I have worked on teams that preferred a merge approach. To the later I have maintained a standard of maintaining my changes by rebasing, then merging only when my work has completed. I have used git flow, both the github and nvue variations. I also enjoy doing patch-wise additions.