This is a collection of useful resources to learn how to use git, the free and open source distributed version control system.
Learn how to use git
Git is a free and open source distributed version control system created by Linus Torvalds, the father of Linux. Linus created git to support the development of the Linux kernel with a tool better than BitKeeper.
Starting to use git might be intimidating at first, but the good news is that there are many free (and often open) resources to help you with that.
The following list includes only resources that are free and don’t require any login to access them.
To visit them simply click on their preview image.
Git tutorial is the official git introduction guide and probably the place where you want to start your journey to learn how to use git.
The tutorial is also available as man page. To read it simply open a terminal and type:
Git wiki is the official wiki of git. Here you can find any kind of information about git: the tools using it, tutorials, references, cheat sheets and more.
In particular the documentation section of the wiki is packed with useful resources and information to learn everything about git from the basic commands to the more advanced concepts.
Git Reference is a quick reference guide of basic git commands along with examples of common uses and options. The website was originally created by the GitHub team, but it’s now an official git resource.
The full source of the website is available on GitHub, so it’s also possible to contribute to it.
Pro Git is the official book about git and it’s completely free and open source (sources are available on GitHub). The book is available online and you can download it in several formats, but you can also buy a printed version on Amazon.
It covers everything you need to know about git, from the basics to get started to the internal implementation for advanced users.
Learn Git Branching
Learn Git Branching is a visual and interactive online tutorial which will teach you how to use git like if you were playing a game.
Unfortunately it doesn’t work on mobile devices, but you will probably use git on your computer anyway, so this should not a big deal.
Ry’s Git Tutorial
Ry’s Git Tutorial is a well written and very extensive online tutorial which covers all the main features of git, but also advanced topics like different workflows, working with patches and low-level git commands.
Every topic is explained using real examples and includes a quick reference at the end.
Git Immersion is a guided tour which covers most of git topics providing clear and detailed practical examples.
In order to reproduce the examples on your machine you will need to set up a working Ruby interpreter.
Try Git is an interactive tutorial based on an online shell you can use to enter git commands and experiment with a virtual repository. It covers most of the common/basic topics, but you will probably need other resources for more advanced concepts.
Visualizing Git Concepts with D3
It covers all the basic git commands and also provides few “real-world” scenarios and a sandbox mode to play with. Advanced commands and options are not covered, but this is a good resource to test and understand basic git commands in a clear visual way.
Getting Git Right
Getting Git Right is a collection of tutorials, articles and a glossary created by Atlassian, the company behind BitBucket (an alternative to GitHub).
All the tutorials are very detailed and well written and they also cover advanced and high level topics like different workflows. Few tutorials assume you are using BitBucket for your git repository, but you can just skip those parts if you’re not.
Bonus: do NOT watch Fox News
You definitely don’t want to watch Fox News to learn how to use git or GitHub!
I hope you enjoyed this list of 10 resources to learn how to use git and that it gave you some good inspiration for your learning. If you know more and better git resources let me know leaving a comment.
If you found it useful feel free to share it on social media using the social buttons below.
Don’t forget to subscribe to the blog newsletter to get notified of future posts.