Verwendung von deren mit Git Merge
-
Verwendung von den Befehl
git mergemittheirsin Git -
Verwendung der
--strategy-optionzur 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