You want to deploy new features but the latest commits are not ready for production? Then use git merge master~n
to skip the n-last commits.
Tip
A big advantage of merging vs. cherry-picking is that cherry-picking will create copies of all picked commits. When you eventually do merge the branch after cherry-picking, you will have duplicate commit messages in your history.
Example
It's time for a production deployment!
git log --pretty=format:"%h - %s" --reverse origin/production..origin/master
0e6ab39f - Feature A
6396de5f - Feature B
c3347545 - Bug fix
8be80057 - Feature C # not yet tested
c278611b - Refactoring # not yet tested
git checkout production
git merge master~2
In this example we are merging Feature A
, Feature B
and Bug fix
but not the untested commits Feature C
and Refactoring
.
This is the same as merging the commit referenced by master~n
, so in this case
git merge c3347545
Posted by Julian to makandra dev (2022-01-13 06:55)