Git ist ein Versionskontrollsystem, welches in der Softwareentwicklung weit verbreitet ist. Es ist ein mächtiges Werkzeug, welches aber auch eine steile Lernkurve hat. Hier sind einige Ressourcen, die dabei helfen können, Git zu verstehen und zu nutzen.

basics

interactive tutorial

help !?!

get out of a bad situation without yet knowing git terminology to google stuff:

Verständnis

Games to learn git

Tools (neben git an sich)

Book & Documentation

Einzelne Themen

rebase

Disclaimer: “merge vs. rebase” ist ein ähnlich polarisierendes Thema wie “tabs vs spaces”, “theismus vs. atheismus” oder “kapitalismus vs. kommunismus”. Die Wahrheit liegt meist irgendwo dazwischen auch wenn die Indizien meist eher für eine Seite sprechen ;)

Hier eine sehr gute Erklärung, was rebasing ist:

patches

Man kann einzelne commits auch als sogenannte Patches “exportieren” (Text-Dateien in denen alle Informationen eines commits maschinen- und menschenlesbar gespeichert sind).

Einige große Projekte wie der Linux Kernel oder PostgreSQL arbeiten ausschließlich durch das Teilen solcher Patches über eine [Mailingliste] (/posts/email/#mailing-lists). Das scheint auf den ersten Blick etwas umständlich und veraltet. Auf den zweiten Blick ist damit aber ein relativ einfacher und bequemer Workflow möglich.