Updated: August 25, 2023
By Richard Kalehoff
Among the best free resources for learning Git foundations.
This short course provides thorough explanations of Git foundations, combining video tutorials and written guides.
Udacity's platform now includes an OpenAI Chat GPT integration, where you can receive AI-powered personalized, immediate help.
With this free course, you don't get the same one-to-one mentorship offered with Udacity's Nanodegrees. There are forums where you can ask questions.
The course does not cover GitHub, so you'll want to supplement with GitHub-specific courseware.
By Various Authors
Solid hands-on option for learning the basics of Git and GitHub.
The hands-on exercise-based structure gets you coding immediately. In the first 5 minutes, the course introduces the core concepts of Git, and has you initializing, adding, and committing changes.
The exercises push you to recall what you’ve learned by walking through Git and GitHub workflows end to end. You won’t make many changes to the code, but you’ll see how each of the commands work in context.
Two off-platform projects will challenge you to take what you’ve learned and apply it to push changes out to the real world:
One of the most helpful sections is the Best Practices for GitHub Repositories module. Many courses focus solely on explaining the commands, without teaching best practices for working with real world repositories. Sections like “writing a good pull request” should be mandatory for all developers.
The course doesn’t dive into advanced topics like GitHub Hooks and is light on Backup and Restore.
By Ian Miell
Solid hands-on option for learning the basics of Git.
This course focuses on teaching Git through a series of coding exercises, wherein you type commands and study the results. The goal of this method is developing a connection between the knowledge and hands-on application.
Each lesson takes you step by step through common commands to illustrate the concepts. Things don’t get real-world for a while - you’re mostly adding 1-2 words to files and then committing the changes - but it’s helpful for understanding and practicing the steps one after the other, to build on your understanding.
The assessments are multiple choice and true-false questions, and mostly ask for recall of details about Git, such as whether GitHub created Git. They’re decent checks for understanding and reiteration of the concepts, but generally aren’t a substitute for practice and a hands-on project requiring you to piece together everything you’ve learned.
The course does contain some exercises that involve GitHub, but isn't explicitly about using GitHub. As a result, you'll need to supplement with another course that covers some unique features of GitHub.
Unfortunately, the assessments don’t give you feedback on which questions you missed - and thus which topics you might need more practice. Instead, you get a letter grade.
Engaging lecture and notes covering the essentials of using Git and GitHub.
The course focuses on teaching you just enough to get started working with Git and GitHub.
The course doesn't include quizzes or exercises, so if you take this course, be sure to supplement with some practice to get your hands dirty before launching into using Git and GitHub regularly. This practice is best done locally on your own system, but if you prefer a browser-based solution for more practice, try Learn Git Branching.
This course is a bit light on coverage of some crucial professional-level features like writing good commit messages, resolving complicated merge conflicts, or using GitHub Actions or Hooks. This course is best understood as a foundational quickstart.
Git is a distributed version control system widely used in software development. It allows developers to track changes to their codebase, collaborate with others, and maintain different versions of their projects. Git stores snapshots of the project's state over time, enabling efficient code management, collaboration, and easy reverting to previous versions when needed.
GitHub is a web-based platform that provides hosting for software development using the Git version control system. It offers tools for collaboration, code review, and project management, making it easier for teams to work on software projects together. Developers use GitHub to share and contribute to open-source projects, collaborate on private repositories, and showcase their coding skills.
To prepare for using Git and GitHub professionally as a frontend or fullstack developer, focus on mastering these key topics:
checkout. Practice creating and managing repositories locally.
.gitignorefiles to exclude specific files or directories from being tracked by Git.
By mastering these topics, you'll be well-equipped to use Git and GitHub professionally as a full-stack web developer. Practice with real projects and collaborate with others to gain practical experience in using version control effectively.
Thanks for reading!