-
Notifications
You must be signed in to change notification settings - Fork 14
COAL Development Workflow
Taylor Alexander Brown edited this page May 23, 2017
·
1 revision
The following is a recommended COAL Github workflow for collaborative software development:
- create a local copy of the COAL repo
git clone https://github.com/capstone-coal/pycoal.git
- configure remotes on local - specify the COAL repo remote as 'upstream':
git remote add upstream https://github.com/capstone-coal/pycoal.git
- fetch the branches and their respective commits from the upstream repository:
git fetch upstream
-
master
is our main branch which should always be stable - log an issue in the coal issue tracker. Please use labels to classify your issue. If you need a new label to be created then please state this in your issue description.
- create a branch in your local repo which tracks master in upstream. The branch name should reflect the issue number you created above e.g. ISSUE-1
git checkout -b ISSUE-1 upstream/master
- make the changes in your branch & commit - with commit message please! e.g.
git commit -m "ISSUE-1 add drafts of project statement and report"
- synchronize your changes with upstream:
git push upstream ISSUE-1
- now would be a good time to lint your code... TODO
- within GitHub, create a Pull Request from ISSUE-1 into master ... at this point, you might assign the Pull Request to someone else to check before merging
- COMMITTERS ONLY: within GitHub, Merge the changes into master. Ensure that all builds and tests are passing.
- bring all those changes back into your local repo:
git fetch upstream
- rebase (don't 'pull' - because this creates another commit) changes on your branch:
git rebase upstream/master
(you might also want to rebase local/master too)