Git

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

Note

  • 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 version.aalto.fi 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. It can allow personal private repositories and there is an option to apply for a “pro” account with your university email as part of their GitHub Education program.

  • Bitbucket is also somewhat popular, limit of free 5 private repositories (but you can pay for more).

  • Gitlab.com is a commercial service but makes the open-source Gitlab edition. Gitlab.com offers unlimited private repositories.

  • source.coderefinery.org 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.

Git installation and configuration

If you are planning to use git version control and you do not have it in your system, you can check the git installation instructions on CodeRefinery webpages. Please note that in some windows systems managed by organisations (for example Aalto Windows) the default HOME for git (git bash) is on a drive that is NOT local (e.g. Z:\). This can be an issue if you want to use git when the internet connection is not reliable, you can make sure your system uses another folder as $HOME by editing the global file “profile” which is usually found in “C:Program FilesGitetc” and add a line such as export HOME="/c/Users/<username>/" near the top of the file.