On the first day of Gitmas, my mentee asked of me...
could you explain Git, pretty please?
Welcome to the 12 Days of Gitmas!
This twelve-part series will introduce you to Git, and teach you how to use it. This series is aimed towards people who are new to Git or may have never heard of it before, but if you're looking for a refresher, you might enjoy this as well!
Since I'm assuming you readers have absolutely no experience or knowledge about Git, we're kicking off the first day of Gitmas with a basic introduction to Git.
So... what is Git?
Git is a version control system.
Er... what does that mean?
A version control system is something that enables you to save what you're working on at different points in time, and allows you to go back to previous versions at any time. It also allows you to check what changes you've made since the previous save.
When you initialize Git (I'll go into how to do this in the next post), it is initialized within a folder, and then used to track the changes made to all the files within that folder. If you wanted, that folder could contain just a single file, but more often Git is used to track an entire project, such as a website.
When you initialize Git within a folder, this is now known as a repository, or repo for short.
(When you get to bigger projects, such as web apps for large companies that hundreds of people work on, the company might break the project up so you have different repositories for the frontend and the api, or even for different portions of the frontend.)
Git is great if you're working on a project by yourself. Git is even better if you're working on a big project that lots of other people are working on, because it allows multiple people to work on the same files without overwriting someone else's work because you forgot to refresh, or having to wait on someone because they're working on the file you need.
This was a very basic intro to Git - in future posts, I'll dive deeper into topics such as creating your first repository, sites like Github, what a pull request is, and lots more! In the meantime, what questions do you have about Git?
If you have any questions about Git or requests for other topics you'd like to see me blog about, please leave a comment! And if you're enjoying this series, consider supporting me on Patreon, following me on Twitter or checking out my Twitch streams!