Cherry Picking

Selectively take the changes from a particular commit on a different branch

Our main use-case for git-cherry-pick is for taking some bugfix commits from one branch, and applying them to another (e.g. a release branch and master)

# Ensure that you're on the branch you want to copy commits to
# and the working directory is clean
$ git status
On branch cp-example
nothing to commit, working tree clean

# Bring a commit from a different branch over
git cherry-pick 897a3db

# Notice that the changes, author details, and commit message are the same
# But the commit sha1 is different (and maybe the tree object)
$ git log -1 # or git show
commit 240881944b4da840e3893742b68a17c5230a6717 (HEAD -> cp-example)
Author: Jenkins <jenkins@everbuild.feedhenry.net>
Date:   Thu Dec 1 17:12:24 2016 +0000

    Bumping version to 2.0.1