gitlab-org--gitlab-foss/doc/university/training/topics/cherry_picking.md

987 B

stage group info comments
none unassigned To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments false

Cherry Pick

  • Given an existing commit on one branch, apply the change to another branch
  • Useful for backporting bug fixes to previous release branches
  • Make the commit on the master branch and pick in to stable

Cherry Pick sample workflow

  1. Check out a new 'stable' branch from 'master'
  2. Change back to 'master'
  3. Edit 'cherry_pick.rb' and commit the changes.
  4. Check commit log to get the commit SHA
  5. Check out the 'stable' branch
  6. Cherry pick the commit using the SHA obtained earlier
git checkout master
git checkout -b stable
git checkout master

# Edit `cherry_pick.rb`
git add cherry_pick.rb
git commit -m 'Fix bugs in cherry_pick.rb'
git log
# Copy commit SHA
git checkout stable

git cherry-pick <commit SHA>