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 clone, 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.

Photo by Yancy Min on Unsplash