I use git to protect myself from myself. When I write code for AVR, Arduino, iOS, OS X or even the web, I stick it in a git repository on bitbucket.org (it's free to have many private repos, so check it out) (thank you, Atlassian!). At the meltmedia office, we use the gitflow process of source code management to manage our projects and it works wonderfully. So, between home and the office, I use both github and bitbucket. Source code management ("SCM") is s-m-r-t smart and easy as pie (assuming making pies is indeed easy) with git. If I mangle the source code in my project, I can roll it back to a working state. If I want to try something out that will require major fiddling with the code in a project, I branch and fiddle. If it works, I merge it back in. If the experiment fails, I dump the branch like it never happened.