-
Notifications
You must be signed in to change notification settings - Fork 5
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:masterThis 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>