Das Zusammenführen von Zweigen in GitHub ist unerlässlich, wenn mehrere Personen (oder auch nur verschiedene Features, an denen Sie arbeiten) zusammengeführt werden müssen. Für Neulinge kann es manchmal etwas überwältigend sein, insbesondere wenn Konflikte auftreten oder Sie versuchen, dies über die Kommandozeile zu tun und sich nicht sicher sind, welche Befehle wichtig sind. Diese Anleitung hilft Ihnen dabei – egal, ob Sie lieber auf der Website herumklicken oder Befehle in Ihr Terminal eingeben. Sie können Codeänderungen reibungslos kombinieren und Ihr Projekt sauber halten, ohne versehentlich die Arbeit anderer zu überschreiben oder in der Merge-Hölle zu landen.
Wie führt man einen Zweig in GitHub zusammen?
Methode 1: Zusammenführen mit der GitHub-Website
Dies ist oft die einfachste Methode für diejenigen, die sich nicht mit Terminalbefehlen herumschlagen möchten. Es ist visuell, unkompliziert und Reddit-freundlich genug. Außerdem können Sie es direkt in Ihrem Browser tun, sodass keine Einrichtung erforderlich ist.
- Öffnen Sie das Repository auf GitHub, in dem sich Ihre Zweige befinden.
- Klicken Sie oben auf der Repo-Seite auf die Registerkarte „Pull Requests“.
- Klicken Sie auf Neue Pull-Anfrage.
- Wählen Sie den Basiszweig (wahrscheinlich Main oder Master) und vergleichen Sie ihn dann mit dem Feature-Zweig, in den Sie einbinden möchten (z. B.Feature-xyz).Wenn Sie sich nicht sicher sind, welcher Zweig welcher ist, sind diese normalerweise deutlich gekennzeichnet.
- Überprüfen Sie, welche Änderungen zusammengeführt werden. Manchmal ist es sinnvoll, dies noch einmal zu überprüfen – insbesondere, wenn es in letzter Zeit viele Aktualisierungen gab.
- Klicken Sie auf Pull Request erstellen. Fügen Sie einen kurzen Titel und eine Notiz hinzu, was dieser Merge bewirkt (denn natürlich werden Sie von GitHub dazu aufgefordert).
- Wenn alles gut aussieht, klicken Sie auf die Schaltfläche „Pull Request zusammenführen“.
- Bestätigen Sie die Zusammenführung, indem Sie auf Zusammenführung bestätigen klicken. Und fertig – Ihr Zweig ist jetzt Teil dessen, womit Sie zusammenführen.
Vorher oder danach klonen viele Leute das Repo lokal auf ihrem Rechner, um direkt am Code zu arbeiten, und pushen es dann zurück, wenn sie fertig sind. Für ernsthafte Entwickler ist das wahrscheinlich natürlicher.
Methode 2: Zusammenführen über die Befehlszeile
Hier greifen manche Leute auf Git Bash, Terminal oder PowerShell zurück und erledigen ein wenig manuelle Arbeit. Sobald man den Dreh raus hat, geht es schneller und ist manchmal die einzige Möglichkeit, wenn man Dinge automatisiert oder an CI/CD-Pipelines arbeitet.
- Öffnen Sie Ihr Terminal oder Git Bash.
- Navigieren Sie mit zu Ihrem lokalen Repo-Ordner
cd /path/to/your/repo
. - Stellen Sie sicher, dass Sie sich im Hauptzweig befinden:
git checkout main
. Wenn Ihr Hauptzweig „Master“ oder anders heißt, ersetzen Sie ihn entsprechend. - Rufen Sie die neuesten Änderungen vom Ursprung ab:
git pull origin main
. - Führen Sie Ihren Feature-Zweig zusammen:
git merge feature-branch
. Ersetzen Siefeature-branch
durch den Namen Ihres Zweigs. - Wenn keine Konflikte vorliegen, können Sie den kombinierten Code zurückschieben:
git push origin main
.
Wenn Konflikte auftreten, müssen Sie diese Dateien öffnen, die zu behaltenden Zeilen festlegen und anschließend git add
die git commit
Zusammenführung abschließen. Konflikte sind ärgerlich, aber beherrschbar – manchmal reicht eine schnelle manuelle Bearbeitung aus. Interessante Tatsache: Bei manchen Setups treten Konflikte auf, obwohl sie nicht auftreten sollten. Das ist etwas seltsam, aber ein Zurücksetzen oder Rebasen kann helfen.
Umgang mit Zusammenführungskonflikten
Konflikte entstehen, wenn zwei Zweige Änderungen an denselben Codezeilen aufweisen. Wenn Git nicht weiß, welcher Zweig beibehalten werden soll, markiert es diese Abschnitte, und Sie müssen entscheiden.
- Git kennzeichnet die Konfliktdateien nach dem Zusammenführen. Normalerweise wird Ihnen angezeigt, welche Dateien repariert werden müssen.
- Öffnen Sie diese Dateien in Ihrem Code-Editor. Achten Sie auf Abschnitte, die mit <<<<<<<, ======= und >>>>>>> gekennzeichnet sind. So zeigt Ihnen Git, wo die Konflikte liegen.
- Entscheiden Sie, welche Änderungen beibehalten werden sollen, löschen Sie die Konfliktmarkierungen und speichern Sie.
- Ausführen
git add.
, um die aufgelösten Dateien bereitzustellen. - Abschließen mit
git commit
– während dieses Commits können Sie sogar eine Nachricht zur Konfliktlösung hinzufügen. - Übertragen Sie Ihre Änderungen an Remote:
git push origin main
.
Dieser Vorgang kann die ersten paar Male frustrierend sein, insbesondere wenn Konflikte unerwartet auftreten oder während komplexer Zusammenführungen. Nach ein paar Malen wird es jedoch weniger ärgerlich und Sie erkennen Konflikte frühzeitig.
Warum Fusionen wichtig sind
Durch das Zusammenführen wird die gesamte Arbeit synchron gehalten. Dadurch wird sichergestellt, dass alle am neuesten Code arbeiten, doppelte Arbeit vermieden und ein Durcheinander verschiedener Versionen vermieden.
FAQs
Öffnen Sie GitHub Desktop und wechseln Sie dann zu Ihrem Basiszweig (z. B.Hauptzweig).Klicken Sie auf Zweig > In aktuellen Zweig zusammenführen und wählen Sie dann Ihren Feature-Zweig aus. Es ist ziemlich einfach, sobald Sie sich daran gewöhnt haben.
Ja, wenn es aktuell ist, kannst du einen Git-Reset durchführen, git reset --hard HEAD~1
um den letzten Merge rückgängig zu machen. Wenn es älter ist oder gepusht wurde, musst du möglicherweise einen Revert durchführen. Das ist ziemlich riskant, also bewahre im Zweifelsfall Backups auf.
Beim Zusammenführen bleibt der Verlauf unverändert und zeigt alle Zweige intakt an. Beim Rebase wird der Verlauf in einen linearen Fluss umgewandelt. Rebase kann sauberer sein, ist aber schwierig, wenn Sie nicht vorsichtig sind.
Hängt vom Projekt ab. Für die meisten freigegebenen Repos benötigen Sie Schreib- oder Betreuerzugriff, um in Haupt- oder Produktionszweige einzubinden. Andernfalls müssen Sie einen Pull Request öffnen und auf die Genehmigung warten.
Zusammenfassung
Das Zusammenführen von Zweigen ist ein zentraler Bestandteil der Arbeit mit GitHub. Egal, ob Sie auf Schaltflächen klicken oder Befehle eingeben, das Wichtigste ist, Änderungen zu überprüfen, Konflikte sorgfältig zu lösen und Ihren Verlauf übersichtlich zu halten. Manchmal läuft es nicht perfekt, aber das gehört zum Lernprozess dazu. Wenn Sie im Team arbeiten, sorgen gute Zusammenführungen für einen reibungslosen Ablauf und reduzieren Zweifel oder Wiederholungen. Behalten Sie einfach auftretende Konflikte im Auge, und Ihr Repo bleibt in Ordnung.