Wiederherstellen aller Commits seit der Verzweigung
Wenn Sie nur alle Commits neu erstellen möchten, die in Ihrem Zweig neu sind, ist es seit der Verzweigung vom übergeordneten Zweig einfacher, nur den folgenden Alias in Ihrer Konfiguration zu haben:
rbi = !sh -c \"git rebase -i `git merge-base $1 HEAD`\" -
Wenn Sie dann alle Commits, die Sie Ihrem aktuellen Zweig hinzugefügt haben, neu festlegen möchten, können Sie einfach Folgendes ausführen:
git rbi parentBranch
Bei diesem Ansatz wird ein Argument verwendet. Anstatt jedoch wissen zu müssen, wie viele Commits zurückgehen müssen, geben Sie einfach den Filialnamen an und ermitteln das letzte Commit, das zwischen dem aktuellen Zweig und dem übergeordneten Zweig über geteilt wird git merge-base
Warum das, anstatt Git Rebase -i ParentBranch
Der Grund, warum Sie dies eher als eine Straße tun würden, git rebase -i parentBranch
ist, dass Sie sich möglicherweise erst zu einem späteren Zeitpunkt mit den Zusammenführungskonflikten oder sogar mit einem Zusammenführungskonflikt in einem Commit und dann mit demselben Konflikt in derselben Zeile befassen möchten ein weiteres Commit. Siehe https://stackoverflow.com/a/31036645/444610