Frage

Was ist der beste Weg, um einen Konflikt zu lösen, wenn eine git svn rebase tun, und Git-Zweigs Sie sind wird „(no-Zweig)“?

War es hilfreich?

Lösung

Sie können git mergetool verwenden, um die Konflikte in der üblichen Art und Weise anzeigen und bearbeiten. Sobald Sie sicher sind, dass die Konflikte gelöst haben git rebase --continue die rebase fortzusetzen, oder wenn Sie wollen nicht, dass die Revision enthalten tun git rebase --skip

Andere Tipps

Während eine git svn rebase tun, wenn Sie Konflikte hier verschmolzen haben sind einige Dinge zu beachten:

1) Wenn etwas Schlimmes passiert, während eine Fütterungsmaterial durchführen Sie auf einem (no-branch) Zweig enden wird.

2) Wenn Sie git status laufen, werden Sie eine .dotest Datei in Ihrem Arbeitsverzeichnis sehen. Dies ist sicher zu ignorieren.

3) Wenn Sie das Fütterungsmaterial verwenden Sie den folgenden Befehl abgebrochen werden sollen. 1

git rebase --abort

4) Wenn Sie einen Merge-Konflikt haben:

  1. Bearbeiten Sie manuell die Dateien, die Konflikte
  2. lösen
  3. -Stufe Änderungen mit git add [file]
  4. Weiter das Fütterungsmaterial mit git rebase --continue 2
    • Wenn git fragt: "Haben Sie vergessen git add zu nennen", dann wandten sich die Änderungen, den Konflikt in eine no-op Änderung 3 . Fahren Sie mit git rebase --skip

Sie müssen möglicherweise diesen Vorgang wiederholen, bis das Fütterungsmaterial abgeschlossen ist. An jedem Punkt können Sie git rebase --abort das Fütterungsmaterial zu löschen und verlassen.


1: Es gibt keine --abort Option für git svn rebase

.

2: Es gibt keine --continue Option für git svn rebase

.

3: Das ist sehr seltsam, aber die Dateien sind in einem Zustand, in dem git denkt, dass sie das gleiche nach diesem speziellen Patch sind. Die Lösung ist zu „überspringen“  dass Patch auf dem Fütterungsmaterial.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top