Read more

Deployment: Merge consecutive commits without cherry-picking

Julian
January 13, 2022Software engineer at makandra GmbH

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

Illustration web development

Do you need DevOps-experts?

Your development team has a full backlog? No time for infrastructure architecture? Our DevOps team is ready to support you!

  • We build reliable cloud solutions with Infrastructure as code
  • We are experts in security, Linux and databases
  • We support your dev team to perform
Read more Show archive.org snapshot

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 07:55)