Send a pull request on GitHub for only latest commit

I forked a project on github and am successfully making changes to my local master and pushing to origin on github. I want to send a pull request, but only want to include the last commit. The pull request UI on github.com shows the last 9 commits and I don't know how to filter that down.

I was trying to understand if I should create a new local branch, check that out and somehow reset or rebase to upstream? Then apply my last commit from my master by id to the new local branch and use that for the pull request?

I'm trying to get the concepts right and figure out the right command lines to do what I need.


You need to basically create a new branch & cherry-pick the commits you want to add to it.

Note: you might need these before the checkout/cherry-pick commands

git remote add upstream <git repository>

git remote update

git checkout -b <new-branch-name> upstream/master

git cherry-pick <SHA hash of commit>

git push origin <new-branch-name>

Afterwards, you will see <new-branch-name> branch on github, switch to it and can submit the pull request with the changes you want.


Create a new branch starting from the latest commit, which is also in the origin repository:

git branch new-branch origin/master
git checkout new-branch

Then use git cherry-pick to get the single commit you want the pull request for. If the branch with this commit is called feature and the commit you want is the latest commit in this branch, this will be

git cherry-pick feature

Assuming this patch applies without conflict, you got now a branch for which you can do your pull request.

In a second step, you now need to decide what to do with your feature branch. If you haven't published your changes on this branch yet, the best procedure is probably rebasing this branch upon new-branch (and removing the last commit, if this is not done automatically by git rebase ).


I ended up in a situation where I had forked a fork and wanted to submit a pull request back to the original project.

I had:

  • orignal_project
  • forked_project (created from original project at SHA: 9685770)
  • my_fork (created from forked project at SHA: 207e29b)
  • a commit in my fork (SHA: b67627b) that I wanted to submit back to original project
  • To do this, I:

  • created a new branch from the SHA where the original project was forked
  • pulled all from the original project
  • cherry picked the commit I wanted to submit as a pull request
  • pushed it all up to github
  • The git commands were something like:

  • git branch my-feature-request 9685770
  • git checkout my-feature-request
  • git pull https://github.com/original_project/original_project.git
  • git cherry-pick b67627b
  • git push origin my-feature-request
  • Then I picked my-feature-request as the branch for my pull request to the original project.

    链接地址: http://www.djcxy.com/p/45184.html

    上一篇: 多个GitHub页面和通过DNS的自定义域

    下一篇: 只在GitHub上发送一个pull请求,仅用于最新的提交