gitgithubpull-requestgit-checkout

How can I check out a GitHub pull request with git?


I'd like to check out a previously created pull request (created via GitHub web interface). I searched and found different places where a refs/pull or refs/pull/pr

But when I add fetch = +refs/pull/*/head:refs/remotes/origin/pr/* to the git config file and do a git fetch

What am I doing wrong? Should GitHub automatically create the pull/xyz stuff, or do I have to configure something?


Solution

  • To fetch a remote PR into your local repo,

    git fetch origin pull/$ID/head:$BRANCHNAME
    

    where $ID is the pull request id and $BRANCHNAME is the name of the new branch that you want to create. Once you have created the branch, then simply

    git checkout $BRANCHNAME
    

    For instance, let's imagine you want to checkout pull request #2 from the origin main branch:

    git fetch origin pull/2/head:MASTER
    

    See the official GitHub documentation for more.