2017-11-05 6 views
0

Ich frage mich, wann genau ein Zusammenführungskonflikt auftritt. Meine Annahme ist, dass es auftritt, wenn eine Datei in beiden Zweigen geändert wurde. Genauer gesagt, wenn eine Datei in einem Zweig geändert wurde, aber nicht in einem anderen Zweig, wird die "modifizierte" Version verwendet (die "alte" Version wird durch eine "neue" Version ersetzt).Was genau verursacht Konflikte in Git zusammenführen?

Wenn es zwei „neue“ Versionen (aus zwei Filialen), git nicht weiß, welche Version zu verwenden, so dass eine manuelle Zusammenführung erforderlich ist.

Allerdings bin ich mir nicht sicher über mein Verständnis. Ich kann mir vorstellen, dass selbst wenn die gleiche Datei in beiden Zweigen geändert wurde, kein Zusammenführungskonflikt vorliegt, wenn die Änderungen an Stellen vorgenommen werden, die weit genug voneinander entfernt sind.

+2

Mögliche Duplikat [wann genau ist ein git merge Konflikt entstehen] (https://stackoverflow.com/questions/42693608/when-exactly-does-a- Git-Merge-Konflikt-entstehen) – 1615903

Antwort

2

Konflikte zusammenführen, wenn eine Zeile (oder Zeilen) in einer Datei von mehr als einer Person gleichzeitig bearbeitet wird. Muss nicht unbedingt in 2 verschiedenen Zweigen sein.

Nachdem der erste seine Änderungen drückt, andere, die versuchen, seine Änderungen drücken auf einer Zusammenführung Konflikt stolpern.

Grundsätzlich ist das GIT-System kann verschmelzenden allein bewältigen. Aber in diesem Szenario kann man nicht sagen, welche Ausgabe die richtige ist und somit einen Merge-Konflikt auslösen.

Sehen Sie diesen Beitrag für weitere Informationen: when exactly does a git merge conflict arise

1

Ein Merge Konflikt geschieht in git, wenn versuchen, gleiche Linien von verschiedenen Menschen zu ändern und es kann nicht automatisch in einen Zweig zusammengeführt werden.

Zum Beispiel können zwei Mitspieler gegabelt gleiche Repo- und haben Änderungen in der Filiale und erstellt eine Pull-Anforderung zu meistern. Die Zeilennummer 10 wurde von beiden geändert.

Wenn die Änderungen der ersten Person in upstream zusammengeführt wurden und die Pull-Anforderung der zweiten Person noch geöffnet ist, wird angezeigt, dass Änderungen nicht automatisch zusammengeführt werden können, da ein Zusammenführungskonflikt vorliegt, da beide Änderungen an derselben Zeile vorgenommen wurden Der Zweig des zweiten Kerls hat keine Änderungen vom ersten Mann.

In diesem Fall müssen wir manuell die Zusammenführung Konflikt beheben. Lesen Sie den Link https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/, um zu erfahren, wie Sie es manuell über die Befehlszeile beheben können

Verwandte Themen