As part of my internship, I need to learn how to use developer tools. Among the many Atlassian tools that software developers worldwide use, we use Bitbucket for source control, which is powered by Git. Git is an incredibly powerful based on some smart  ideology that, despite the fact that it's still very young,  you will invariably use at some stage of a developer career. In fact, if you are even remotely interested in developing your own software, you will want to use it, and if you want to contribute to the majority of open source projects, you'll need to know it.

Despite it's pervasiveness in the tech landscape, Git is actually still a bit difficult to 'get', especially if you've never dabbled in source control and management before. I have struggled to find a good not-quite-dumb-but-still-beginners guide that actually explains key concepts behind Git such as branching, merging, staging, the commit process and things like that basically everything there is in Git.

Then, just yesterday, I discovered a most magnificent guide called Git Immersion, written by Neo, that step by step goes through the process of learning how to use Git. It explains in a holistic sense, complete with a coding project that you follow so as to make the guide applicable to real life scenarios. It's also pretty aesthetically pleasing, which is always nice for documentation.

I highly recommend this course to anyone wanting to learn how to use Git, or gain more precision in their use of Git. It's not only useful for people who want to dabble with open source software on Github; anyone who writes code should use version control software of some sort.