I'm sure this has been asked before but I'm not even really sure what the terms I am looking for are.
I have a branch structure that looks like this:
startoftime -> A -> B -> C -> D (master head)
|
-> X -> Y (feature1 head)(tag T)
|
-> Q -> R (feature2 head)
Essentially I created two feature branches from commit B and did development in them. The head of one of them has a tag on it that reflects its overall history from the original root. Now I want to fold them back into master, but ideally I'd like them to appear in the history before the new stuff on master, not after, so leaving the current master head where it is. Ideally I'd like this:
startoftime -> A -> B -> X -> Y -> Q -> R -> C -> D (master head)
|
(tag T)
What are the concepts or commands I should be looking at here?
There is a suggestion that rebase
might be what I'm after here. All three of these branches have been pushed to my remote already, although I can guarantee that no one but me has pulled from it/checked it out. Can I still use rebase?
Thanks.