Do you GET git? It packs quite a bit of punch for such a lightweight utility. It goes beyond simple version control, and simple change tracking. In this post, we'll cover the super-high-level at-a-glance overview of what's capable with Git, with a quick set of instructions on how to go and acquire Git if you don't have it already.
Head on over to https://git-scm.com and download Git for your specific platform and operating system, by clicking a big Download button typically found below the version number on the image of the monitor on the main page of the site. Most commonly this will be a 64-bit installation of Git for Microsoft Windows, Apple MacOS, or Ubuntu Linux. There are of course still 32-bit machines out there, and their website is supposed to detect your operating system and platform, serving up the right file, but even so, please be sure to check your device just in case. Once you've followed the standard application installation directions for your operating system, and Git is properly working on your device, you can finally start to GET git.
If you have any particular trouble or difficulty, on YouTube there are actually numerous specific sources and example of Git and installing it across various operating systems and platforms, in video form. You can check out the various available resources: https://www.youtube.com/results?search_query=install+git
As far as what you can do with it, well, what you'll want to do is understand the core concepts of git: start with initializing a repo using the
git init command on a directory that you want to version control. Then, observe change tracking as you make updates to files within that directory, staging and committing their changes via
git add/remove and
git commit. You'll also want to leverage the ability to review the current state of your repository with
git status and to be able to un-stage things with
git reset, or review the set of changes and versions applied so far with
git log. You may even want to stop in the middle of work and shelve those changes, via
git stash, so you can work on something different, then un-shelve them to pick back up the important work you were in the middle of.
After that, you'll want to move on to branching and navigating between commits and branches via
git branch and
git checkout, or how you can join or reconcile changes, branches (or experiments), and versions with the
git merge command. Probably, you'll want to learn about the collaborative aspects of git with centralized providers (typically cloud-based offerings), via commands like
git pull, and
git push. And finally, there's impressive comparison capabilities built into git with the
git diff tool, leveraging text editors to highlight the changes in files, commits and branches. 13 commands providing you an incredibly powerful workflow. And that's before you even learn about pull requests, rebasing, and more! I'll be working on putting together a small series of posts highlighting each of these commands, so please reach out if you see an issue in this or any of the other articles within the series.