Tom Jenkinson wrote on 12/11/18 10:10 AM:
Is there a way to tell cherry-pick
to "pick everything on the
branch"?
This might work (at least it
seens to for the current state of
the branches):
for i in `git cherry master
EE4J_8 | grep "+ " | cut -f 2 -d "
"`; do git cherry-pick $i; done
More generally you will find although that should work
initially, it is only so useful (and might speak to why
rebaseing between branches support is working the way it
does - or rather why it doesn't work in the way you hope).
It is fine so long as you want all the commits from EE4J_8
branch in master, at some point in the future that won't be
the case.
For the EE4J_8 branch, my plan is to delete it now that I've done
the release that's included in GlassFish 5.1.
In the future, I intend to make very little use of branches and
avoid this problem entirely! :-)
If used at all, branches would be for feature development or bug
fixes where the branch would be merged into the master and then
thrown away, so generally all the commits on the branch would be
needed. And I've definitely concluded that one should never include
the same changes on both a branch and the master if the branch is
intended to be merged (rebased) into the master.
I understand that some larger projects, such as GlassFish, might
need to maintain (e.g.) "development" and "maintenance" branches
indefinitely, and in that case moving commits from branch to branch
would definitely be done using cherry-pick selectively.
Thanks again for helping me understand all of this, Tom!
|