Branches und Merge Requests
Warum Branches
Abschnitt betitelt „Warum Branches“Auf main wird nicht direkt gearbeitet. Jede Aufgabe bekommt einen eigenen Branch. So kannst du mehrere Dinge parallel anfangen, Halbfertiges pushen, und main bleibt immer sauber. In Teams ist das der Normalfall: Niemand pusht direkt auf main.
Branch anlegen und wechseln
Abschnitt betitelt „Branch anlegen und wechseln“git switch -c lab/02-git-uebunggit branchswitch -c erstellt den Branch und wechselt hinein. git branch listet alle lokalen Branches, der aktive ist mit * markiert. Zurück auf main geht es mit git switch main.
Namenskonvention in diesem Kurs: lab/<modul>-<kurzname>, also etwa lab/04-rechte oder lab/08-menu.
Der komplette Ablauf
Abschnitt betitelt „Der komplette Ablauf“- Auf
mainden aktuellen Stand holen:Terminal-Fenster git switch maingit pull - Branch für die Aufgabe anlegen:
Terminal-Fenster git switch -c lab/02-git-uebung - Aufgabe lösen, Dateien unter
labs/linux/anlegen, committen (gerne mehrmals). - Branch pushen:
Git gibt dir direkt einen Link aus, um den Merge Request zu erstellen.
Terminal-Fenster git push -u origin lab/02-git-uebung - In GitLab den Merge Request eröffnen: Titel wie die Aufgabe, kurze Beschreibung, was du gemacht hast und wo du unsicher warst.
- Die Pipeline läuft automatisch. Grün: alles gut. Rot: auf das Symbol klicken und die Meldung lesen, dann nachbessern und erneut pushen. Der Merge Request aktualisiert sich von selbst.
- Nach dem Review wird gemergt. Lokal aufräumen:
Terminal-Fenster git switch maingit pullgit branch -d lab/02-git-uebung
Konflikte
Abschnitt betitelt „Konflikte“Ein Konflikt entsteht, wenn zwei Branches dieselbe Zeile unterschiedlich ändern. Git kann dann nicht entscheiden und markiert die Stelle in der Datei:
<<<<<<< HEADZeile aus main=======Zeile aus deinem Branch>>>>>>> lab/04-rechteDu entscheidest, was bleiben soll, löschst die Markierungen, dann git add und git commit. In diesem Kurs sind Konflikte selten, weil jede Person in eigenen Dateien arbeitet. Wenn es doch passiert: keine Panik, nichts geht verloren.
Das Allernötigste zum Nachschlagen
Abschnitt betitelt „Das Allernötigste zum Nachschlagen“| Befehl | Zweck |
|---|---|
git status |
Wo bin ich, was hat sich geändert |
git switch -c NAME |
Neuen Branch anlegen und wechseln |
git switch NAME |
Branch wechseln |
git add DATEI / git add -A |
In die Staging Area |
git commit -m "Nachricht" |
Commit erstellen |
git push / git push -u origin NAME |
Hochladen |
git pull |
Herunterladen und zusammenführen |
git log --oneline --graph --all |
Geschichte ansehen |
git diff |
Änderungen seit letztem Commit |
git restore DATEI |
Änderung an einer Datei verwerfen |
Lösung anzeigen
git switch main && git pullgit switch -c lab/02-git-uebungecho "- Lieblingsbefehl: ls" >> labs/linux/02-git/visitenkarte.mdgit add -Agit commit -m "Lieblingsbefehl in Visitenkarte ergänzt"git push -u origin lab/02-git-uebungDanach dem Link in der Ausgabe folgen und den Merge Request erstellen.
Selbstcheck · 3 Fragen
Weiterführend
Abschnitt betitelt „Weiterführend“- Pro Git, das offizielle Buch, kostenlos und auf Deutsch.
- GitLab Docs: Merge Requests