How can I selectively merge or pick changes from another branch in Git?

I had the exact same problem as mentioned by you above. But I found this clearer in explaining the answer.

Summary:

  • Check out the path(s) from the branch you want to merge,

     $ git checkout source_branch -- <paths>...
    
    Hint: It also works without `--` like seen in the linked post.
    
  • or to selectively merge hunks

     $ git checkout -p source_branch -- <paths>...
    

Alternatively, use reset and then add with the option -p,

    $ git reset <paths>...
    $ git add -p <paths>...
  • Finally commit

     $ git commit -m "'Merge' these changes"
    

Leave a Comment