50+ Entwickler
Shopware Bronze & Erweiterung Partner
Zertifizierte Advanced Entwickler & Solution Architects
200+ E-commerce projecte
Ein Zusammenführungskonflikt tritt auf, wenn Git Unterschiede im Code nicht automatisch auflösen kann.
Wann immer ich das Wort „conflict“ sehe, wenn ich Git verwende, fühlt es sich sehr einschüchternd und beängstigend an. Etwas, auf das die meisten Entwickler gerne stoßen und versuchen, es so gut es geht zu vermeiden. Der Versuch, Zusammenführungskonflikte auf Bitbucket zu vermeiden, ist jedoch keine Möglichkeit, Probleme zu lösen. Die beste Lösung besteht darin, sich Zeit zu nehmen und zu verstehen, warum der Zusammenführungskonflikt aufgetreten ist und wie er gelöst werden kann.
Ein Zusammenführungskonflikt tritt auf, wenn Git Unterschiede im Code nicht automatisch auflösen kann. Dies kann zwischen zwei Commits oder Verzweigungen erfolgen. Der Grund dafür ist, dass es widersprüchliche Änderungen an derselben Codezeile oder demselben Dokument gibt. Git weiß also nicht, welche Version Sie behalten oder verwerfen möchten. In diesem Fall besteht die Notwendigkeit eines menschlichen Eingreifens. Ein klassisches Szenario ist, wenn Entwickler A Änderungen an einer Datei mit dem Namen „custom.js“ vornimmt und wenn es an der Zeit ist, die Änderungen an den Entwicklungszweig zu übertragen, stellt sich heraus, dass Entwickler B ähnliche Änderungen an derselben Datei vorgenommen hat, die festgeschrieben und an GitHub übertragen wurde. Nun tritt ein Zusammenführungskonflikt auf.
Es ist wichtig zu beachten, dass der Prozess der Lösung eines Zusammenführungskonflikts gelöscht werden kann, wenn Sie sich verbessern und von vorne beginnen möchten. In diesem Fall verwenden Sie: git merge –abort Sie können also nichts falsch machen, wenn Sie einen Konflikt mit dieser Methode zusammenführen. Sie können immer von vorne anfangen.
Nachdem Sie eine PR erstellt haben, hebt Git die Konfliktbereiche hervor und fragt, welchen Code Sie behalten möchten.
Dies ist nicht die einzige Möglichkeit, wie ein Zusammenführungskonflikt auftreten kann. Ein zweites Szenario ist, wenn Sie einen anderen Zweig mit Ihrem Arbeitszweig zusammenführen. In diesem Fall führen wir den Hauptzweig mithilfe von Git Merge Main in unseren Entwicklungszweig ein.
Szenario 1: Auf Bitbucket beim Auslösen einer PR-Anfrage
Die Schaltfläche Konflikte lösen öffnet einen interaktiven Editor, in dem Sie eingehende Änderungen und aktuelle Änderungen sehen können. Git ist intelligent genug, um die Punkte der Konflikte hervorzuheben, die wir mit Pfeilspitzensymbolen lösen müssen. <<<<<<<<<< – Eingehende Änderung: Stellt die Änderungen dar, die Sie in ihrer Verzweigung vorgenommen haben, in der Sie zusammenführen möchten. >>>>>>>>>> <Zweig, in den Sie zusammenführen möchten> — Aktuelle Änderung: Hat die Änderungen in der aktuellen Verzweigung, in die Sie zusammenführen möchten. Diese beiden Änderungen werden normalerweise mit ‚==========’getrennt. Akzeptieren Sie eingehende Änderungen, wenn Sie ihre Änderungen stattdessen beibehalten möchten, oder die aktuelle Änderung, wenn Sie Ihre Änderungen verwerfen möchten. Es gibt auch eine Option „Beide Änderungen beibehalten“, wenn dies zutrifft. NB: Es ist immer eine gute Idee, ein anderes Teammitglied um Hilfe zu bitten, wenn Sie sich nicht sicher sind, welche Änderungen beibehalten oder verworfen werden sollten.
Wenn Sie mehr über E-Commerce-Entwicklungsplattformen oder Apps erfahren möchten, lesen Sie unsere Lexika für Shopify und Shopware. Unser engagiertes Outsourcing-Team kann Ihr Partner im E-Commerce sein.