Ich möchte jedoch eine Zusammenführung durchführen (Commits nicht überschreiben), aber zusätzlich Konflikte automatisch lösen.
Bartek
Antworten:
188
Es ist nicht gerade die "neuere" Version, aber Sie können git anweisen, immer die Version auf dem aktuellen Zweig git merge branch -X ourszu bevorzugen oder die Version des Zweigs zu bevorzugen, der zusammengeführt wird git merge branch -X theirs.
Von man git-merge:
unsere:
Diese Option erzwingt, dass widersprüchliche Hunks automatisch automatisch aufgelöst werden, indem unsere Version bevorzugt wird. Änderungen gegenüber dem anderen Baum, die nicht mit unserer Seite in Konflikt stehen, werden im Zusammenführungsergebnis berücksichtigt. Bei einer Binärdatei wird der gesamte Inhalt von unserer Seite übernommen.
ours- theirs!! Sagen Sie es einfach und Sie verstehen, was der Befehl tut! Ich liebe Git! : D
Haywire
14
Hinweis: Wenn Sie bereits verwendet haben git merge branch, müssen git merge --abortSie dies tun , bevor Sie dies tun können.
John Dvorak
1
Funktioniert bei mir nicht Die Zusammenführung wird weiterhin abgebrochen. error: The following untracked working tree files would be overwritten by merge:Ich weiß nicht einmal, warum diese Dateien überhaupt in diesem Zweig sind, aber sie sollten überschrieben werden, und Git lehnt ab.
mcv
2
Wenn sie nicht verfolgt werden, müssen Sie git addsie zuerst entfernen (oder entfernen ). Lesen Sie ein bisschen darüber git clean, es kann Ihnen dabei helfen.
Renato Zannon
Nach ran , git merge ourswenn es einige Konfliktdateien sind, werden alle Protokoll sein? und könnte ich das verfolgen git merge ours?
Diese Lösung half mir, nicht zusammengeführte Konflikte zu beheben, wenn ich nur mit dem Hauptzweig überschreiben wollte. Ich habe Git Reset verwendet - Hard Master (von lokalen)
Antworten:
Es ist nicht gerade die "neuere" Version, aber Sie können git anweisen, immer die Version auf dem aktuellen Zweig
git merge branch -X ours
zu bevorzugen oder die Version des Zweigs zu bevorzugen, der zusammengeführt wirdgit merge branch -X theirs
.Von
man git-merge
:quelle
ours
-theirs
!! Sagen Sie es einfach und Sie verstehen, was der Befehl tut! Ich liebe Git! : Dgit merge branch
, müssengit merge --abort
Sie dies tun , bevor Sie dies tun können.error: The following untracked working tree files would be overwritten by merge:
Ich weiß nicht einmal, warum diese Dateien überhaupt in diesem Zweig sind, aber sie sollten überschrieben werden, und Git lehnt ab.git add
sie zuerst entfernen (oder entfernen ). Lesen Sie ein bisschen darübergit clean
, es kann Ihnen dabei helfen.git merge ours
wenn es einige Konfliktdateien sind, werden alle Protokoll sein? und könnte ich das verfolgengit merge ours
?Ich benutze das,
quelle