Deployment: Merge consecutive commits without cherry-picking

Posted . Visible to the public. Repeats.

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
Profile picture of Julian
Julian
Last edit
Henning Koch
License
Source code in this card is licensed under the MIT License.
Posted by Julian to makandra dev (2022-01-13 06:55)