Git is a open source distributed version control system.
What does that mean?

The job of a Version Control System is to save files, provide access to them and document changes made to those files. Documented changes are what has been changed when by whom. Normally these systems get used to manage source code, however other types of data can get versionized in that manner as well. Often systems like this get referred to as a CVS rather then a VCS. It means the same.

In case it gets necessary to rollback to a version prioror to a specific change using Git or another VCS it is not a hard task. In software development companys there usually is a server that is running a VCS and the employees are connecting to that resource to apply changes to the code.

One problem with this is that this resource is only available inside the company network. If you are not in, have no VPN to the company network or the internet on one of the branches fails, you cannot commit changes to the code.

Before diving into the most common git terms and the concepts underneath them lets take a look at the distrubuted I mentioned in the beginning. In a classic VCS there is a centralized server that keeps track of code changes.

Distributed in this case means that EVERY user has a local copy of ALL changes. The advantage of this is that most of gits functions can be used without connecting to any server.

You are probably already realizing that versioning has a lingo in itself.
Earlier I was speaking of applying changes to code then I used the term committig changes.

Let me show you the most frequent terms you will face and what they mean.

Git Lingo
Pull – to download or refresh files that have been downloaded in the past and the related change history for those files

Commit – uploading or applying changes to files

Yes GIT does run on windows and it has a GUI.
No I will not get into that.

Now that this is out of the way, let us begin.
If git is already installed on your system you can find out by typing git --version

(To get git integrated into the shell, like in the screenshot above, take a look at my OhMyZsh Post 1 and Post 2.)

If git is not installed in your distro, you can install it using apt, yum, rpm etc.

apt install git

Cheers,
Ori