Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Auf einem Branch arbeiten und zusammenführen (Git)

Nach dieser Lektion: Ich kann auf einem Branch arbeiten und ihn wieder zusammenführen.

Lektion, 55 Min.14 BefehleGit-und-Gitea-Lab: clone, commit und push auf einem eigenen Git-Server lernen

Zwei Personen, eine Preisliste

Zwei Mitarbeitende eines kleinen Shops bearbeiten am selben Nachmittag die Preisliste. Eine erhöht einen Preis. Der andere korrigiert in derselben Zeile einen Tippfehler.

Teilen sie einen Ordner, verliert eine Person Arbeit. Versionsverwaltung behält beide Fassungen und zeigt genau, wo sie sich widersprechen.

Am Ende dieser Lektion

Notiz

Ich kann auf einem Branch arbeiten und ihn wieder zusammenführen.

Schlüsselbegriffe

BegriffWas er bedeutet
Remoteeine gemeinsame Kopie eines Repositorys auf einem Server
Klonenein Repository mit seinem ganzen Verlauf kopieren
Brancheine eigene Linie von Arbeit mit eigenen Commits
Mergedie Arbeit eines Branches in einen anderen übernehmen
Konfliktein Merge, bei dem zwei Branches dieselben Zeilen änderten

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein Klon kopiert den ganzen Verlauf

Ein Remote ist die gemeinsame Kopie eines Repositorys auf einem Server wie Gitea. Um daran zu arbeiten, klonen Sie es. Sie erhalten jede Datei und jeden früheren Commit.

Der Gitea-Server des Labs hält ein Repository namens hello-git. Der erste Run klont es in einen Übungsordner review. Der zweite liest seinen Verlauf, neueste zuerst.

Das Repository nach review klonen

Befehl
git clone http://gitea:3000/student/hello-git.git review

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Verlauf lesen, eine Zeile je Commit

Befehl
git -C review --no-pager log --format="%h|%an|%s"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Branch hält Ihre Arbeit getrennt

Ein Branch ist eine eigene Linie von Commits. Sie ändern darauf Dateien, und der Hauptbranch bleibt, wie er war.

Jeder Commit hält fest, wer ihn machte. Nennen Sie Git zuerst Ihren Namen und Ihre Adresse für diesen Ordner. Legen Sie dann einen Branch spaeter-oeffnen an und ändern Sie darauf eine Zeile.

Dieser Ordner dient nur zum Üben. Sie pushen ihn nicht.

Ihren Namen für diesen Ordner setzen

Befehl
git -C review config user.name "Studierende"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ihre Adresse für diesen Ordner setzen

Befehl
git -C review config user.email "[email protected]"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Einen Branch anlegen und wechseln

Befehl
git -C review switch -c spaeter-oeffnen

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Eine Zeile auf dem Branch ändern

Befehl
sed -i 's/Ada Lovelace/Ada Lovelace (Gastgeberin)/' review/visitors.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Änderung auf dem Branch committen

Befehl
git -C review commit -am "Ada als Gastgeberin vermerken"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Merge führt zwei Linien zusammen

Ändern zwei Branches verschiedene Zeilen, führt Git sie ohne Hilfe zusammen. Ändern beide dieselbe Zeile, kann Git nicht wählen. Es hält an und fragt Sie. Das ist ein Konflikt.

Sie erzeugen jetzt absichtlich einen. Gehen Sie zurück auf den Hauptbranch. Ändern Sie dieselbe Zeile anders. Committen Sie. Führen Sie dann den anderen Branch ein.

Zurück auf den Hauptbranch wechseln

Befehl
git -C review switch main

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Dieselbe Zeile anders ändern

Befehl
sed -i 's/Ada Lovelace/Ada L. Lovelace/' review/visitors.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Änderung auf main committen

Befehl
git -C review commit -am "Die Initialen ausschreiben"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den anderen Branch einführen

Befehl
git -C review merge spaeter-oeffnen

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Lesen, was Git in die Datei schrieb

Befehl
cat review/visitors.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Drei Markierungszeilen zeigen die zwei Fassungen

Git schrieb beide Fassungen in die Datei. Die Zeile <<<<<<< HEAD beginnt die Fassung des Branches, auf dem Sie stehen. Die Zeile ======= beendet sie. Die Zeile >>>>>>> spaeter-oeffnen beendet die andere Fassung.

Zum Lösen bearbeiten Sie die Datei zum gewünschten Text und löschen die drei Markierungszeilen. Dann folgen git add und git commit.

Hier halten Sie stattdessen an und machen den Merge rückgängig.

Den Merge rückgängig machen

Befehl
git -C review merge --abort

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Beide Linien als Graph ansehen

Befehl
git -C review --no-pager log --oneline --graph --all

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein häufiger Irrtum

Warnung

Viele glauben, ein Konflikt heiße, das Repository sei kaputt oder jemand habe einen Fehler gemacht. Er heißt nur, dass zwei Personen dieselben Zeilen änderten. Nichts geht verloren. Wählen Sie den richtigen Text oder führen Sie merge --abort aus, um vor den Merge zurückzukehren.

Weiterführend: den Konflikt wirklich lösen

Führen Sie in review den Merge noch einmal aus. Schreiben Sie die Datei so, dass statt der drei Markierungen und zwei Fassungen nur Ada L. Lovelace (Gastgeberin) steht. Führen Sie dann git -C review add visitors.txt aus.

Schließen Sie mit git -C review commit --no-edit ab und lesen Sie den Graph erneut. Ein einfaches commit würde einen Editor öffnen. Pushen Sie nichts.

Über dieses Lab und seinen Quellcode: Git-und-Gitea-Lab: clone, commit und push auf einem eigenen Git-Server lernen

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.