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:
-
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.
-
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.