I have finally run through the process of submitting a pull request to suggest changes to a Git repository. Do the normal ‘stuff’ either to make a new project or to clone an existing project to your computer. Create a new branch and check out that branch.
C:\ljr\git>git clone https://github.com/ljr55555/SampleProject
Cloning into ‘SampleProject’…
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), done.
C:\ljr\git\SampleProject>git branch newEdits
C:\ljr\git\SampleProject>git checkout newEdits
Switched to branch ‘newEdits’
Make some changes and commit them to your branch
C:\ljr\git\SampleProject>git add helloworld.pl
C:\ljr\git\SampleProject>git commit -m “Added hello world script”
C:\ljr\git\SampleProject>git push origin newEdits
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 408 bytes | 408.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
* [new branch] newEdits -> newEdits
On the GitHub site, click the “new pull request” button. Since you select the two branches within the pull request, it doesn’t seem to matter which branch’s “Pull request” tab you select.
Select the source branch and the one with your changes. Verify you can merge the branches (otherwise you’ve got a problem and need to resolve conflicts). Review the changes, then click “Create pull request”
Here’s another place for comments – comments on the pull request, not the commit comments. Click “Create pull request”.
Click “Create pull request” and you’ve got one! Now what do we do with it (i.e. if you’re the repository owner and receive a pull request). If you check the “Pull request” tab on your project, you should see one now.
Click on it to explore the changes that have been made – the “Commits” tab will have the commits, and the “Files changed” tab will show you the specific changes that have been made.
You could just comment and close the pull request (if, for instance, there was a reason you had not implemented the project that way and do not wish to incorporate the changes into your master branch). Assuming you do wish to incorporate the code, there are a couple of ways you can merge the new code into your base branch. The default is generally a good, or read the doc at https://help.github.com/articles/about-pull-request-merges/
Select the appropriate merge type and click the big green button. You have an opportunity to edit the commit message at this point, or just click “Confirm merge”
Voila, it is merged in. You can write some comment to close out the pull request.
There is a notification that the request was completed and the branch can be deleted.
And the project no longer has any open pull requests (you can remove the “is open” filter and see the request again).
And finally, someone should delete the branch. Is that the person who created the branch? Is that the person who maintains the repository? No idea! I’d delete my own, to keep things tidy … but I wouldn’t be offended if the maintainer deleted it either.