GitHub: Accept Pull Request, But Only Some Commits

Say you’ve got a user who made a few commits and rolled them into one pull request. You want to accept one of the commits, but reject the others. Is this possible with GitHub?

  • What is correct way for hotfixes?
  • Git new branch then roll back to previous version
  • Working with repos
  • Git branch vs commit
  • Git: piecewise merge approach for major version changes?
  • Why am I told to 'cd' when updating Homebrew?
  • SourceTree for Windows not working
  • Add multiple small git repo's to a larger repository
  • Git pulls files in .gitignore
  • automatic extension update can't handle zip file from github?
  • Advanced Custom Fields (ACF) Pro acf-json workflow
  • How exactly (with a diagram) does Git Fetch + Merge work?
  • 2 Solutions collect form web for “GitHub: Accept Pull Request, But Only Some Commits”

    Yes, you can manually accept certain commits using git-cherry-pick and then close the pull request.

    Next to the “Merge pull request” button, there should be a “Use the command line” link to instructions on how to do it manually. You should follow these instructions (create new local branch and pull in their changes), but then instead of merging that whole branch back into master, you just cherry-pick the commits you want.

    e.g. to review a pull request from user: jashkenas, in their branch: new-feature

    git checkout -b jashkenas-new-feature master
    git pull https://github.com/jashkenas/YOUR_REPO_NAME.git new-feature
    

    And then do your testing, and then when you’re ready:

    git checkout master
    git cherry-pick COMMIT_HASH_1
    git cherry-pick COMMIT_HASH_2
    # etc
    git push origin master
    
    Git Baby is a git and github fan, let's start git clone.