4 Stimmen

Smartgit Rebasieren von origin/local auf local / oder in die entgegengesetzte Richtung

Wenn ich lokale Änderungen ziehe und neu aufsetze oder einfach den Ursprungsbranch abrufe und dann manuell den lokalen Kopf über "Rebase HEAD To" neu aufsetze auf den Ursprungs-/Lokal Branch...können Merge-Konflikte auftreten, aber das ist in Ordnung.


Nur zwei Dinge stören mich:

  • Erstens zeigt der Kopf danach nicht auf den lokalen Branch, jetzt zeigt er auf den obersten Commit dieses Branches, daher
  • Zweitens startet der Neu-Aufsetzungsprozess nicht (wenn er startet, sehen wir einen roten Titel "Aufsetzen" nach dem Kopfnamen).

Kann jemand Licht ins Dunkel bringen.
Außerdem habe ich versucht, die gleiche Operation am Computer meines Freundes durchzuführen und alles ist in Ordnung!
Ich möchte auch klare Logs haben. Aber ich habe dieses Problem immer noch nicht gelöst, wenn ich Merging Branch verwende.

0voto

VonC Punkte 1117238

Bei der Verwendung von SmartGit oder einem anderen Git-GUI-Tool werden die Operationen im Wesentlichen als abstrakte Versionen der Git-Befehle ausgeführt, die Sie im Terminal ausführen würden. Das Neuabgleichen kann eine komplexe Operation sein, insbesondere wenn Konflikte auftreten.

Beim Neuabgleichen handelt es sich um den Vorgang, eine Sequenz von Commits an einen neuen Basis-Commit zu verschieben oder zu kombinieren.
Wenn Sie git rebase ausführen, ändern Sie die Basis Ihres Branches von einem Commit auf einen anderen, sodass es so aussieht, als ob Sie Ihren Branch von einem anderen Commit erstellt hätten.
Siehe "Warum ist die Bedeutung von „ours“ und „theirs“ bei git rebase vertauscht"
Konflikte können beim Neuabgleichen auftreten, wenn die Commits im Branch, den Sie neu abgleichen, Änderungen im selben Codebereich wie der Branch haben, auf den Sie neu abgleichen.

Siehe SmartGit Neuabgleich

Nun zu den von Ihnen erwähnten Problemen:

  1. HEAD zeigt auf obersten Commit: Dieses Verhalten ist zu erwarten. Wenn Sie neu abgleichen, zeigt Ihr HEAD auf den neuesten Commit in der Sequenz der neu abgeglichenen Commits. Dies liegt daran, dass die Neuabgleichoperation im Wesentlichen Ihre Commits oben auf den Branch neu abspielt, auf den Sie neu abgleichen. Es sieht so aus, als ob Sie vom neueren Commit abgezweigt hätten.

  2. Neuabgleichvorgang startet nicht: Der von Ihnen erwähnte rote "Neuabgleich" -Titel zeigt an, dass ein Neuabgleichvorgang derzeit stattfindet. Wenn Sie ihn nicht sehen, kann das bedeuten:

    • Der Neuabgleich wurde erfolgreich abgeschlossen.
    • Der Neuabgleich stieß auf Konflikte und wartet darauf, dass Sie diese lösen.
    • Es gab ein Problem mit der Neuabgleichoperation.

Siehe auch "Konflikte in SmartGit lösen - Konfliktdateien finden", oder zur Veranschaulichung "Verwenden von SmartGit, um dem GitFlow-Branching- und Workflow-Modell zu folgen" von Alice Waddicor.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X