VCS version control systems

Professional I started to use VCS tools in the mid-90s.
The first VCS system I used was Clearcase at a large corporation in Sweden.
Later I used CVS at the same corporation and even in my hobby projects.
This was long before GIT even existed. GIT was released in year 2005 as a first prototype.
Today I also use GIT and find it very competent as a VCS.
(I have also used SVN in the project "Web shop Azure-project", due to it is integrated with MS Visual studio.

Both Clearcase and CVS use a central repository while GIT use both a central and local repository.
When many developers in a project lives at different places and the work is not
related to a company like freewares, it can be nice to have a repository online.

There are free repository GIT servers on the internet if you would like to store it in the cloud.
Gitlab, Github and Bitbucket to name a few.
Regarding Gitlab, you can download the server software for free and install on either Cent OS or Ubuntu
(my favorite SuSE is not directy supported by can be done, instructions here.)
At Bitbucket you can create repositories and collaborate with up to 5 persons for free.
Github offers public repositories for free but yoyu need to pay for private.
Gitlab offers booth public and private for free.
I have accounts myself on all of the cloudservers menchened above, but the server I prefer is Gitlab.
When you choose to download a repo as zip from gitlab you will get newest commitment from master branch checked out.

Getting started with GIT is very simple.
If you are interested in GIT, you can start by creating a local repository and
later clone it to a server online or in your company. 
You can download GIT from here: GIT

Start by issuing the command 
GIT config --global user.name "RE"                // set your name
GIT config --global user.email "re@a.com" //setup your email adress
GIT init                                                                                     in the folder of interest.
GIT add *                                                                                to add all your files (and folders)
GIT commit -m "first commit"                                checkin first revision
Now you have started.
Continue to edit your files and repeat step 4 and 5
If you later decide to put the repositorie in the cloud enter this.
(This info is siplayed on Gitlab when you create a new project)

cd existing_git_repo
git remote add origin git@gitlab.com:your account/your project.git
git push -u origin master

When you later merge your changes with the cloud you type:
GIT pull   ( which perform GIT fetch and GIT merge)
GIT push  (Check your code)

Probably you would like to add a branch like dev for
development and keep the master branch your release branch.
Create a new branch with:
==================
GIT checkout -b branchname

Checkout a branch
=================
GIT checkout branchname

merge with master
==================================
GIT checkout master
GIT merge origin/branchname
GIT pull
GIT push

or

GIT checkout master
GIT pull origin master
GIT merge test
GIT push origin master
Force move of tag with master
==================================
If your remote is called origin
and you're working on master branch:
GIT tag -d <tagname>
GIT push origin :refs/tags/<tagname>
GIT tag <tagname> <commitId>
GIT push origin master --tags

Fast forward if branch left 1 step back
=======================================
GIT merge --ff-only origin/master
GIT pull
GIT push

A good book to get started is: "Git- Version Control for Everyone" from https://www.packtpub.com/