Sagen wir, ich habe einen Zweig Zweig, dessen gesamte Geschichte ich neu schreiben möchte, da es ursprünglich von Master für eine Pull-Anfrage erstellt wurde. Aus irgendeinem Grund ist es nicht einfach, oder offensichtliche git log
mit dem Commit Hash bestimmen möchte ichInteraktive Rebase eines Zweiges mit seinem Punkt der Divergenz von Master
git rebase -i <commit>
passieren Ich weiß, ich git merge-base <branch1> <branch2 || master>
verwenden kann das sagen zu, dass zwei Referenzen finden können ihre Abstammung aus und verfolgen können verwenden um das Commit zu bestimmen. Was ich möchte, ist wissen, ob es eine bessere Art und Weise ist interaktiv diesen ganzen Zweig rebase (ob Master fortgeschritten ist oder nicht), als die Verwendung von
git rebase -i `git merge-base my_branch master`
EDIT: Ich mag nicht, die Eltern von dem ersten ändern verpflichten in diesem Zweig so gemacht git rebase -i master
würde nur in dem Fall arbeiten, in dem beide Master nicht fortgeschritten seit der Zweigstelle erstellt wurde und die Niederlassung erstellt wurde von der Commit-Master zeigt derzeit auf.
Das ist keine Antwort, sondern ein interessanter Hack, den ich mir ausgedacht habe. Ich habe folgendes in mein Profil eingefügt. 'Funktion gri() { Git Rebase -i \' Git Merge-Basis $ @ Master \ '}' – Aaron