gitgit-cherry-pickgit-am

git - cherry-pick - HOWTO / WHYTO


Problem: You want to test a feature someone has developed, but it only exists in a remote branch which is woefully out of date.

Source

  1. How does cherry-pick solve the problem?
  2. Why won't I use git am or git apply?

Solution

  • Problem: You want to test a feature someone has developed, but it only exists in a remote branch which is woefully out of date.

    If you merged or rebased, you'd get a bunch of old changes in, possibly conflicting.

    With cherry picking, you take one change set, and replay that as a new commit over another branch.

    This is useful if you just want one commit onto another branch, without its history.

    It's useful to use the -x option, so the commit message contains a note where it was cherry picked from.

    Why won't I use git am or git apply?

    because git apply is for applying patches (files), and git am for applying series of patches. git cherry-pick applies commits - i.e., commits from your own repo, vs commits you import from other repos.