Working with a version control system is one of the major parts of being a developer and the most used version control system in the world is Git. But, unlike most other technologies we use, that have an abundance of learning resources, Git doesn't have that abundance of learning resources. So if you're a beginner looking to start learning Git, I've compiled some of the best free resources for you for learning to work with Git.
This is a free course I took recently on FutureLearn. It is offered by the University of Manchester and teaches you how to use Git to collaborate with partners and team members. It's a 6-week self-paced course and goes from the basics of Git up to advance workflows using Git. It has practical exercises along the way that help solidify the concepts you've learned for the week.
This is a series of well-organized tutorials by Atlassian that teaches everything you need to know about working and collaborating with Git from beginner to advanced level. It also has tutorials for using Git along with Bitbucket which is a Github alternative for hosting code repositories. If you're trying to migrate from a different version control system such as, they also have a tutorial for migrating to Git.
ProGit by Scott Chacon and Ben Straub
ProGit is a comprehensive book that covers everything from the history of Git all the way to advanced workflows using Git. The book covers a lot more than working with Git, it covers working with Github, contributing to open source projects, maintaining open-source projects, and many more related topics.
Learn Version Control with Git by Git Tower
This is another e-book that covers all the necessary aspects you need to know about Git. It is offered by the folks at Git Tower, which is a Git GUI client. A Git GUI client is a software that helps you work with Git using a graphical user instead of working with it in the terminal. What I like about this book is it teaches you how to work with Git both on the terminal and on the GUI client(Git Tower in this case).
The Git documentation is also a great resource for learning but I put it at the last because it's a bit clunky in my opinion and might confuse the absolute beginner. I recommend using the documentation as a reference when you need to check out every little technical detail about a command or an aspect of Git.
These are the 5 best Git learning resources I've found on the internet. You can choose any of these resources and use it to start learning Git. If you're a complete beginner and want to quickly hit the ground running, I'd recommend checking out 2 and 4, if you're like me and prefer more of a video explanation, I'd recommend 1, if you're more of a bookworm then I'd recommend going with 3 and if you're of the every little detail type, I'd recommend going with the documentation(5).