Back when I started learning web development, I had no idea what Git and Github was. Later I learned that Git is a version control system. I had a vague idea what that is. But what is Github then? And how are they different?
Git – A Version Control System
Git is a free and open source piece of software that helps developers in many ways. While it’s a version control system, it also helps multiple developers working separately and merging together what they have worked on later. As you can imagine, this is not an obvious task to do otherwise. How would you track who has changed what lines in the code, and whether that should make it into the final product.
Github – A Remote Repository Provider
Each project you manage with Git becomes a repository. By default that repository is local, meaning it’s available only on your machine. It’s still a tremendous help by letting you see your progress and enabling to revert back to a previous version.
If you work in a team, that’s not doing anything for them though. Unless you have a remote repository. In addition to managing your local git repo, you can also add a remote repository. Once you have committed your changes, you can push each version to that remote repo and your colleagues can then pull or clone it. They can continue working on in their local repository, and when they feel like it, they can also push it to the remote repository. This way Github is an exceptional tool for collaboration.
Considering most of Github’s services are free, you can give them a try right now.
As a junior web developer, Git can be intimidating. I am a self-taught web developer and I know it was for me.
I usually find good Udemy courses on any topic I would like to learn. Not for Git.
There are a couple long courses. Usually those are the ones I check. But after checking all of them, none of them met my needs. I have found two courses outside Udemy though, that made learning Git a breeze. They are: Beginning Git and Mastering Git. These are currently the best english language courses to learn and understand Git. Note: I am NOT affiliated with this website.