Space engineering tools: Learn about Git version control

Git Logo (c) Jason LongAs part of the engineering tools series we will introduce several tools which make working in teams on projects, especially distributed open-source projects possible. Read more about how to learn how to use Git and some hands-on beginners advice.

Getting started

Recommended resources to interactively learn about Git:

try.github.io – Got 15 minutes and want to learn Git?

http://pcottle.github.io/learnGitBranching – Ineractive game to learn git and how to work with branches.

Cheat sheets

Cheat sheets are a good way to have just one sheet to lookup the most commonly used commands:
Git cheat sheet 1 (PDF)
Git cheat sheet 2 (PDF)

git under windows

Git is natively an Unix tool. To enjoy the awsomeness of Git under Windows there is a project MsysGit that brings it to Windows.

Usefull git commands:

You can find the most important commands on the cheat sheets. However these commands can come in very handy and are not included:

git difftool – Graphical tool for finding file differences

graphical tools

Personally I do favor do visualize complex operations such as cherry-picking and rebasing using a graphical frontend. Such can be found most comfortabely in TortoiseGit which integrates with the Explorer. Sadly it is only available for Windows and Linux tools at this point can not compete with the comfort and features. However an comparable tools is available with RabbitVCS. It integrated with a variety of File explorers (Nautilus, Thunar..) and can be installed from an PPA repository under Ubuntu-derivatives.