I have used a few different source code management (SCM) tools throughout my short development career. I have found them all to be very useful. My favourite and one of the most popular SCMs is git. I've used git the most both in and out of the workplace, and it is likely the most popular SCM used in the OSS community. Despite its popularity, git isn't always an easy tool to use. In fact, it can often seem really confusing. Most developers that I have collaborated with know enough git to get by, but often struggle with more difficult concepts