Verwenden Sie gitk (* nix) oder gitx (OS X) oder ähnliches auf anderen Plattformen und sehen Sie sich an, welches Commit das Stammverzeichnis Ihres Zweigs war. Dann renne:
git rebase -i <the SHA hash of the root commit>
Zum Beispiel habe ich ein Repository, das ich mit gitx überprüft habe:

Jetzt, wo ich den Root-Hash kenne, kann ich Folgendes ausführen:
git rebase -i 38965ed29d89a4136e47b688ca10b522b6bc335f
Und mein Editor erscheint damit und ich kann / squash / was auch immer nach Belieben neu anordnen.
pick 50b2cff File 1 changes.
pick 345df08 File 2 changes.
pick 9894931 File 3 changes.
pick 9a62b92 File 4 changes.
pick 640b1f8 File 5 changes.
pick 1c437f7 File 6 changes.
pick b014597 File 7 changes.
pick b1f52bc File 8 changes.
pick 40ae0fc File 9 changes.
# Rebase 38965ed..40ae0fc onto 38965ed
#
# Commands:
# pick = use commit
# edit = use commit, but stop for amending
# squash = use commit, but meld into previous commit
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
#
Ich bin mir sicher, dass es eine magische Möglichkeit gibt, Git davon zu überzeugen, die Wurzel des Baumes automatisch herauszufinden, aber ich weiß nicht, was es ist.
EDIT: Diese Magie ist dies:
git log master..other_feature | cat
Dadurch werden alle Commits in diesem Zweig angezeigt, und durch Weiterleiten an cat wird der Pager deaktiviert, sodass das erste Commit sofort angezeigt wird.
EDIT: Die Kombination der oben genannten ergibt eine vollautomatische Lösung:
git rebase -i `git log master..other_feature --pretty=format:"%h" | tail -n 1`~