Verwendung von deren mit Git Merge

Yahya Irmak 30 Januar 2023
  1. Verwendung von den Befehl git merge mit theirs in Git
  2. Verwendung der --strategy-option zur Konfliktlösung in Git
  3. Verwendung von den temporären Zweig zum Zusammenführen in Git
Verwendung von deren mit Git Merge

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 avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn

Verwandter Artikel - Git Merge