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.
- :doc:`aalto/git <../aalto/git>` contains advice on the Aalto Gitlab, a repository for the Aalto community integrated to Aalto systems.
Basic git tutorials
- There is an interactive git tutorial from codeschool and github. Good for your first use.
- Software carpentry has a good tutorial focused on researchers.
- Gitlab cheatsheet.
- You can search for many tutorials online.
- software-carpentry.org (an organization that teaches development to scientists) has a very good tutorial online.
- The book "Pro Git" is online.
- Read chapters 1-3 for a good introduction to using git for your own projects.
- Read chapter 5 for a good introduction to using git to collaborate with others.
- There's a somewhat official documentation place - including videos.
- There is an official tutorial but it is probably too theoretical.
- All git commands have very good but very detailed manual pages - type
man git COMMANDor
git help COMMANDto see them.
- Interactive git cheatsheet. (very good once you know the basics)
- A Visual Git Reference
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. 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).
- 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.