So funktioniert Git · Mindmaps
So funktioniert Git. Eine bearbeitbare Mindmap mit farbigen Zweigen, Unterthemen und Verbindungen. Geschwungene Linien zeigen Beziehungen; Pfeile stehen nur dort, wo die Richtung wichtig ist.
Git ist eine Versionsverwaltung auf Basis von Momentaufnahmen: Jeder Commit ist ein vollständiges Bild des Repositorys, verbunden mit seinem Vorgänger, und Branches sind nur Zeiger, die sich entlang der Historie bewegen.
So funktioniert Git · Mindmaps
Die interaktive MindMap-Zeichenfläche zu dieser Erklärung — jede Bahn, jede Zeile und jeder Pfeil oben gehört zu einem echten QueryChart-Diagramm, das Sie öffnen und bearbeiten können.
So lesen Sie diese Mindmap
- Beginnen Sie beim Thema in der Mitte und folgen Sie einem farbigen Zweig zu den zugehörigen Ideen.
- Geschwungene Linien zeigen Beziehungen; Pfeile stehen nur dort, wo die Richtung wichtig ist.
Working tree
Dieser Zweig verbindet “Developer edits files in the working directory”.
Stage
Dieser Zweig verbindet “git add moves changes into the staging area”.
Commit history
Dieser Zweig verbindet “A commit is a snapshot of the whole repository plus metadata — author, message, timestamp. Git only stores the delta against the parent, so history stays small.”, “Git stores the commit with a pointer to its parent”, “The branch pointer moves to the new commit”.
Share
Dieser Zweig verbindet “The commit graph is what makes Git a distributed tool: everyone has the full history locally, and ‘push’ and ‘pull’ only exchange the missing pieces.”, “Remote repository records the new history”, “History is shared and up to date”.
Resolve conflicts
Dieser Zweig verbindet “Git merges divergent histories automatically when the changes touch different files or lines. Only overlapping edits produce a conflict.”, “Merge conflict — developer resolves it manually”.
Verbindungen zwischen den Zweigen
Ein Commit ist eine vollständige Momentaufnahme, verbunden mit seinem Vorgänger, und genau das macht die Historie zu einem nur-anfügenden Graphen.
Ein Branch ist ein Zeiger auf einen Commit, kein Behälter für Änderungen: deshalb kosten Anlegen und Wechseln von Branches fast nichts.
Das Vormerken ist der bewusste Zwischenschritt, mit dem Sie wählen, was ein Commit enthält.
Git ist verteilt: Alle halten die vollständige Historie lokal, und push und pull tauschen nur die fehlenden Teile aus.
Konflikte sind die Ausnahme, nicht die Regel, und wenn sie auftreten, löst ein Mensch sie ausdrücklich auf.
Wichtige Zusammenhänge und Erkenntnisse
- Ein Commit ist eine vollständige Momentaufnahme, verbunden mit seinem Vorgänger, und genau das macht die Historie zu einem nur-anfügenden Graphen.
- Ein Branch ist ein Zeiger auf einen Commit, kein Behälter für Änderungen: deshalb kosten Anlegen und Wechseln von Branches fast nichts.
- Das Vormerken ist der bewusste Zwischenschritt, mit dem Sie wählen, was ein Commit enthält.
- Git ist verteilt: Alle halten die vollständige Historie lokal, und push und pull tauschen nur die fehlenden Teile aus.
- Konflikte sind die Ausnahme, nicht die Regel, und wenn sie auftreten, löst ein Mensch sie ausdrücklich auf.
Wann Sie diese Darstellung nutzen
- Einem Team das Modell der Momentaufnahme beibringen, das Git bisher nur als Folge von Befehlen kennt.
- Branches, Merges und Konflikte über das Zeigermodell erklären statt über auswendig gelernte Befehle.
- Eine Prüfung des Commit- und Branch-Vorgehens im Team daran ausrichten, wie die Historie wirklich aufgebaut ist.
So funktioniert es
Mittleres Thema anpassen
Benennen Sie das Thema für Ihr Projekt oder Ihren Unterricht um.
Zweige ausbauen
Bearbeiten Sie Ideen und ergänzen Sie Beispiele oder Notizen.
Ideen verbinden
Zeichnen Sie Verbindungen zwischen Zweigen; Pfeile zeigen eine wichtige Richtung an.
Häufig gestellte Fragen
Was ist Git, und wie unterscheidet es sich von anderer Versionsverwaltung?
Git ist eine verteilte Versionsverwaltung auf Basis von Momentaufnahmen. Jeder Commit speichert ein vollständiges Bild des Repositorys plus einen Zeiger auf seinen Vorgänger, nicht bloß eine Liste von Dateiänderungen. Weil jede Entwicklerin und jeder Entwickler die vollständige Historie lokal hat, funktionieren die meisten Operationen offline, und Zusammenarbeit heißt, Commits mit Remotes auszutauschen.
Was ist ein Branch in Git?
Ein Branch ist ein beweglicher Zeiger auf einen Commit. Wenn Sie auf einem Branch committen, rückt der Zeiger auf den neuen Commit; der Commit selbst weiß nicht, auf welchem Branch er liegt, und es ist ihm gleich. Deshalb ist das Anlegen eines Branches sofort erledigt, und deshalb ändert der Wechsel zwischen Branches nur, welche Momentaufnahme Ihr Arbeitsverzeichnis zeigt.
Warum hat Git eine Staging-Area?
Die Staging-Area lässt Sie einen Commit bewusst zusammenstellen. Sie können mehrere Dateien bearbeiten, nur die vormerken, die zusammengehören, und diese Auswahl committen: die übrige Arbeit bleibt außen vor. Arbeitsverzeichnis, Staging-Area und Repository sind drei getrennte Zustände, und genau diese Kette zeichnet die Darstellung.
Wie löst Git Merge-Konflikte auf?
Ändern zwei Branches verschiedene Dateien oder verschiedene Zeilen, führt Git sie automatisch zusammen. Ändern sie dieselben Zeilen, kann Git nicht erraten, welche Fassung richtig ist, markiert deshalb den Konflikt und bittet einen Menschen um die Wahl. Der Konflikt ist eine Entscheidung, kein Fehlschlag: deshalb leitet die Darstellung ihn zu einem ausdrücklichen Auflösungsschritt, bevor die Historie geteilt wird.
Diese Mindmap in QueryChart bearbeiten
Öffnen Sie die Mindmap auf einer bearbeitbaren Leinwand. Verschieben Sie Ideen und ergänzen Sie Zweige und Verbindungen.