Verwendung von deren mit Git Merge
-
Verwendung von den Befehl
git merge
mittheirs
in Git -
Verwendung der
--strategy-option
zur Konfliktlösung in Git - Verwendung von den temporären Zweig zum Zusammenführen in Git
Beim Entwickeln von Software mit dem Git-Tool können Sie verschiedene Zweige für verschiedene Funktionen erstellen. Es kann jedoch zu Konflikten zwischen verschiedenen Zweigen kommen.
In diesem Artikel wird die Verwendung des Befehls git merge
mit der Option theirs
erläutert, um Konflikte zu lösen.
Verwendung von den Befehl git merge
mit theirs
in Git
Der Befehl git merge
kann zwei oder mehr Entwicklungshistorien kombinieren. Diese Zusammenführung kann jedoch manchmal aufgrund von Konflikten zwischen Zweigen nicht durchgeführt werden.
Dateien in ours
oder theirs
sollten verworfen werden, um diesen Konflikt zu lösen.
ours
bezieht sich auf den ursprünglich funktionierenden Branch mit der Autorität des Git-Verlaufs, und theirs
bezieht sich auf den Branch, der die neu angewendeten Commits enthält.
Mit git merge -s ours
können Sie Änderungen in ours
verwerfen. Dieser Befehl verwirft alle Änderungen aus dem anderen Zweig und lässt die Dateien in Ihrem Zweig unverändert.
Wenn Sie das nächste Mal aus dem anderen Zweig zusammenführen, berücksichtigt Git nur Änderungen, die ab diesem Zeitpunkt vorgenommen wurden. Die Option -s
kann jedoch nicht mit theirs
verwendet werden.
Verwendung der --strategy-option
zur Konfliktlösung in Git
Alternativ können wir theirs
mit der Option -X
oder --strategy-option
verwenden.
Der Hauptunterschied zwischen den Optionen -X
und -s
besteht darin, dass -X
eine reguläre rekursive Zusammenführung durchführt und alle Konflikte unter Verwendung der gewählten Seite löst, während -s
die Zusammenführung so ändert, dass die andere Seite einfach vollständig ignoriert wird.
Der folgende Befehl löst alle Konflikte mit theirs
.
git merge -X theirs branchname
Verwendung von den temporären Zweig zum Zusammenführen in Git
Verwenden Sie die folgenden Befehle, um test2
mit dem ausgecheckten test1
zusammenzuführen.
Wechseln Sie in den Zweig test1
.
git checkout test1
Commit ohne Konflikte zusammenführen. Die Inhalte von ours
werden später verworfen.
git merge -s ours test2
Erstellen Sie einen temporären Zweig.
git branch temp
Setzen Sie HEAD
mit dem Befehl git reset
. Es erhält Inhalte aus dem test2
-Zweig.
git reset --hard test2
Auf zusammengeführten Commit zurücksetzen, aber Inhalt mit dem Befehl git reset --soft
beibehalten.
git reset --soft temp
Ändern Sie den Inhalt des zusammengeführten Commits mit dem Inhalt von test2
.
git commit --amend
Löschen Sie den temporären Zweig, den wir zuvor erstellt haben.
git branch -D temp
Sie können sehen, dass der zusammengeführte Commit nur den Inhalt von test2
enthält.
git diff HEAD test2
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn