-
Notifications
You must be signed in to change notification settings - Fork 463
GitHub workflow
Cribbed from: https://github.com/diaspora/diaspora/wiki/Git-Workflow
If you're familiar with git and GitHub, here's the short version of what you need to know. Once you fork and clone the jPOS code:
-
Don't develop on the master branch. Always create a development branch specific to the issue you're working on. Name it by issue # and description. For example, if you're working on Issue #359, an aspect naming fix, your development branch should be called 359-aspect-names. If you decide to work on another issue mid-stream, create a new branch for that issue--don't work on both in one branch.
-
Do not merge the upstream master with your development branch; rebase your branch on top of the upstream master.
-
A single development branch should represent changes related to a single issue. If you decide to work on another issue, create another branch.
- Fork on GitHub (click Fork button)
- Clone to computer (
$ git clone [email protected]:~you~/jPOS.git
) - Don't forget to cd into your repo: (
$ cd jPOS/
) - Set up remote upstream (
$ git remote add upstream git://github.com/jpos/jPOS.git
) - Create a branch for new issue (
$ git checkout -b 100-new-feature
, if you don't have a bug report no worries just skip the number) - Develop on issue branch. [Time passes, the main jPOS repository accumulates new commits]
- Commit changes to issue branch. (
$ git add . ; git commit -m 'commit message'
) - Fetch upstream (
$ git fetch upstream
) - Update local master (
$ git checkout master; git pull upstream master
) - Repeat steps 5-8 till dev is complete
- Rebase issue branch (
$ git checkout 100-new-feature; git rebase master
) - Push branch to GitHub (
$ git push origin 100-new-feature
) - Issue pull request (Click Pull Request button)