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 online protection

Rails Long Term Support

Rails LTS provides security patches for old versions of Ruby on Rails (2.3, 3.2, 4.2 and 5.2)

  • Prevents you from data breaches and liability risks
  • Upgrade at your own pace
  • Works with modern Rubies
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)