We have development branch, from which feature branches emerge. Some features are big enough they becomes a topic branches. These topic branches then have more sub-branches that are merged into topic branch and after all topic is finished, then it is merged to development.
Now, I started feature branch from topic branch, but I should have started from development. How can I rebase this?
development
A--B--C--D--E--F--G
\
topic T1----------T2--T3--T4--T5
\ / \
U1--U2--U3 W1--W2--W3
sub-feature U feature W`
Feature W should have started from development branch.
Is there a way to rebase commits W1, W2 and W3 onto a development branch without touching topic branch T?
I know I could checkout development branch and cherry pick each commit, but that would create a new commit with new metadata. I want to keep commit creation date and perhaps author!