Merge in GitHub pull requests, possibly making changes to them first

I recently started managing a project on GitHub where people have been submitting pull requests. Rather than merge them to master, I would like the ability to:

  1. First vet them to make sure they actually work

  2. how to use github with two local repos (of the same project)
  3. git github cannot push to origin
  4. How to tell if github repo ahead of my local git cloned repo
  5. GitHub statistics not working
  6. Git - forgot to use --recursive while cloning
  7. Merge part of a pull request
  8. Possibly making some stylistic changes before merging to master

How can I do this?

Do you have to make a separate branch, such as “dev”, and instruct people to code against that before you merge to master?

  • SSL verification problems trying to clone git repo with cocoapods
  • Git/GitHub can't push to master
  • Git: compare local branch to remote staging and production
  • Github projects with databases
  • Why is “git grep” behaving erratic on my Windows PC?
  • Github revert error “Unable to revert commit”
  • 2 Solutions collect form web for “Merge in GitHub pull requests, possibly making changes to them first”

    There is a github help page on this which details how to make changes to a pull request by checking out pull requests locally.

    What I might try is first creating a remote for the pull request submitter (I’m using the examples from the above page):

    git remote add kneath git://github.com/kneath/jobs.git
    

    Fetch the changes:

    git fetch kneath
    

    Check out the branch in question (ex. master):

    git checkout kneath/master
    

    Vet them however you like, since the code that will be there will be the pull request code. Run tests, etc.

    Merge them in if you’re good to go:

    git checkout master
    git merge kneath/master
    

    Further, here is a very good page on git project management workflows which details the various workflows one can take on collaboration integration.

    A faster way of doing things with GitHub is to use this GitHub feature presented by Zach Holman in his GitHub Secrets II Talk (video).

    git fetch origin pull/id/head:name
    

    Where id is the pull request id, head is the remote branch (on the fork), and name is the name you want to give the local branch. For example:

    git fetch origin pull/12/head:pr
    

    Fetches pull request #12 into a branch named pr.

    You can add this as an alias in git if you use this a lot.

    Git Baby is a git and github fan, let's start git clone.