It is given: there are two branches, the branch prod in which that which lies on the battle server and the branch develop from which rolls out onto the test one. Of course, they are in many ways similar, but contain many fundamentally different features.
One fine day there is a need to gash a heavy feature straight from the sale. The feature is filed. The question remains - how to drag it into the development branch, so that it would not be necessary to merge all the ancestors of this feature.
See the picture:
Case A: I want to drag commits E and F without dragging commits A and B. How?
Case B: I still don’t need this (and was too lazy to draw), but it’s curious: let F be some set of consecutive commits that are not arranged in a separate branch (i.e. there is no branch containing F commits and only their ) I want to drag commits F, but I don’t want commit (s) E. How?
Case C: I want to drag the entire branch of features except one or three commits that are somewhere in the middle of the branch and are not consecutive
Case D: This is case A plus we add that the branch from the sale must be preserved.
E: is it possible to set some kind of automatic conflict resolution in the direction of (developer) / (branches with features) if they are
While I found a cherry-pick, but dragging a branch one commit at a time is still a perversion and surely there is a human way. Do I understand correctly that I need to dig somewhere in the direction of rebase?