-
Notifications
You must be signed in to change notification settings - Fork 191
Working with git
If you're a developer who wants to work on the Dradis source code and submit your changes for consideration to be merged into the master branch, here's how. Thanks to Disapora for their Git Workflow page which inspired (and completes) ours.
Maybe this will help:
http://eagain.net/articles/git-for-computer-scientists/
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 Dradis 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 #26, a Skipfish import plugin, your development branch should be called 26-skipfish-plugin. 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/dradisframework.git )
- Don't forget to cd into your repo: ($ cd dradisframework/ )
- Set up remote upstream ($ git remote add upstream git://github.com/dradis/dradisframework.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 Dradis 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)
- Review our Contributor's Agreement. Sending us a pull request means you have read and accept to this agreement
- Issue pull request (Click Pull Request button)
There is no point in duplicating here when the original page has a very detailed guide that will walk you through the process (just remember to use https://github.com/dradis/dradisframework/).
Find the 'Step-by-step (the long version)' section in: https://github.com/diaspora/diaspora/wiki/Git-Workflow