Versionsverwaltung mit Git — sicher und gemeinsam arbeiten
Commits, Branches und warum du nie Arbeit verlierst
Einleitung
Versionsverwaltung ist ein System, das sich alle Änderungen an einem Projekt über die Zeit merkt. Git ist die verbreitetste. Das bedeutet, dass du sehen kannst, was wann und von wem geändert wurde, zu einer früheren Version zurückkehren und mit mehreren am selben Projekt arbeiten kannst, ohne einander in die Quere zu kommen.
Repository, Commit und Historie
Ein Repository (Repo) ist der Projektordner, den Git im Blick behält. Wenn du eine sinnvolle Änderung gemacht hast, fasst du sie in einem Commit zusammen — einer Momentaufnahme mit einer kurzen Nachricht darüber, was du gemacht hast. Die Commits bilden zusammen die Historie des Projekts, sodass man die Entwicklung immer nachvollziehen und zurückgehen kann.
Branches und Zusammenführen (Merging)
Ein Branch ist eine eigenständige Entwicklungslinie. Typischerweise legst du für eine neue Funktion oder eine Fehlerbehebung einen neuen Branch an, arbeitest dort in Ruhe und führst ihn dann in die Hauptlinie zurück, wenn er fertig ist. Das bedeutet, dass die Hauptlinie stabil gehalten werden kann, während neue Arbeit daneben läuft.
- 01Commit: eine Momentaufnahme mit einer beschreibenden Nachricht
- 02Branch: eine eigenständige Linie zum Arbeiten
- 03Merge: einen Branch in einen anderen einfließen lassen
- 04Remote: eine geteilte Ausgabe des Repos, zum Beispiel online gehostet
- 05Pull Request: eine Bitte darum, die eigene Arbeit prüfen und einfließen zu lassen
Zusammenarbeit mit einem Remote-Repository
Wenn mehrere zusammenarbeiten, liegt eine gemeinsame Fassung des Repos auf einem Server (einem Remote). Man holt sich die Änderungen der anderen herunter (pull) und schickt die eigenen hinauf (push). Ein Pull Request lässt das Team den Code der anderen durchsehen, bevor er einfließt — das fängt Fehler ab und verbreitet Wissen im Team.
Konflikte sind normal
Wenn zwei Personen dasselbe Stück Code ändern, entsteht ein Merge-Konflikt. Das ist kein Fehler, sondern etwas, worüber Git dich entscheiden lässt: welche Version gelten soll. Lerne, die Konfliktmarkierungen zu lesen und bewusst zu wählen — dann sind Konflikte ein trivialer Teil des Alltags statt etwas Beängstigendes.