-
Notifications
You must be signed in to change notification settings - Fork 7
Manually merging pull requests
This page serves as a simple "how to" for Spring committers when manually merging pull requests from contributors.
Many of the git
commands listed below contain placeholders as defined below.
-
<ACCOUNT>
: GitHub account for the author of the pull request -
<BRANCH>
: branch in pull request author's account (e.g., SPR-####) -
<PULL_REQUEST_NUMBER>
: spring-framework pull request number
To determine the values for these placeholders, let's take a look at pull request #113 as an example. From the pull request page you should be able to find an example git
command for pulling the request into your local working directory -- for example, git pull git://github.com/aclement/spring-framework.git SPR-9613
.
git co master
git remote add <ACCOUNT> https://github.com/<ACCOUNT>/spring-framework.git
git fetch <ACCOUNT>
git co --track <ACCOUNT>/<BRANCH> -b <BRANCH>
git rebase master
- polish, format, refactor, document, update changelog, etc.
- see the Contributor guidelines for details
- once changes are finalized and committed to the branch, squash commits
into a single commit. For example:
git rebase --interactive --autosquash
git co master
git merge --no-ff --log -m "Merge pull request #<PULL_REQUEST_NUMBER> from <ACCOUNT>/<BRANCH>" <BRANCH>
git push springsource master:master
This is only possible if you have write permissions for the remote repository -- for example, if you are merging your own pull request.
git push --force <ACCOUNT> <BRANCH>
This is only possible if you have write permissions for the remote repository -- for example, if you are merging your own pull request.
git push <ACCOUNT> :<BRANCH>
git branch -D <BRANCH>
git remote rm <ACCOUNT>