Git is a version control system. This page collects various Git tutorials and resources

Version control systems track changes to files. This means that as you are working on your projects (code, LaTex, notes, etc), you can track history. This means that you can see former history, and collaborate better. Using one for at least for code should probably be one of the minimum standards of computational research.

Git is a distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.Git


  • This page is git in general, not Aalto specific.
  • aalto/git contains advice on the Aalto Gitlab, a repository for the Aalto community integrated to Aalto systems.

Basic git tutorials

More references

Gitlab-specific information:

Other hosting services

Realistically, use for most projects related to Aalto research, and Github if you want to make something open-source with a wider community (but you can also make open repos in Aalto Gitlab, just harder for random people to contribute). For non-work private repos, you have to make your own choice.

  • Github is a proprietary commercial service, but extremely popular. No free private repositories or groups (but you can pay).
  • Bitbucket is also somewhat popular, limit of free 5 private repositories (but you can pay for more).
  • is a commercial service but makes the open-source Gitlab edition. offers unlimited private repositories.
  • is another Gitlab hosted by the Coderefinery project, a pan-Nordic academic group. It might be useful if you have a very distributed project, but realistically for Aalto projects, use Aalto gitlab.