This repository has been archived by the owner on Sep 3, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 249
Developer Workflow
drewbryant edited this page Sep 9, 2014
·
7 revisions
Thanks for contributing to the DataLab project.
TODO - Description + Links
All DataLab contributions are made via GitHub pull requests. Contributors are expected to adopt the rebase-and-squash based GitHub Flow, so that the repository maintains a clean history, while allowing you to work in parallel and make use of the GitHub features for code review.
- Master is assumed to always be stable and deployable. Work should be completed in branches or forks.
- Pull requests should always be submitted against the master branch.
- A pull requests represents a completed work item, or bug fix, but can be submitted anytime to trigger review or discussion of the work as it progresses.
- Pull requests are merged once they've been reviewed, and feedback has been addressed.
Make sure you've setup your git configuration appropriately to identify yourself as the author of your commits.
git config --global user.name "Your Name"
git config --global user.email [email protected]
The assumption here is you have locally cloned the repository. The following are the steps and associated git commands to follow when working on your feature:
# Get to a clean initial state and then create your feature branch
cd <your local repository>
git checkout master
git pull --rebase --prune
git checkout -b feature/<feature name> (or issue/issue_# for issues)
# Work on your changes and commit locally
git add .
git commit -m "Short descriptive text"
...
# Stay in sync with master, and push to your branch/fork often as you progress
git checkout master
git pull --rebase
git checkout feature/<feature name>
git rebase master
# The -u options allows you to just "git push" for subsequent commits on this feature branch
git push -u origin feature/<feature name>
# <more changes, subsequent local commit>
git push # pushes to origin/feature/<feature name>
# Once ready for review/discussion, submit a pull request via GitHub.
# Make sure you've followed style guidelines, added and run tests as
# appropriate.
# Address feedback and review comments by committing locally
# and pushing (to update the pull request)
# Cleanup your local history to prepare for merging
git rebase -i origin/master
git push --force origin feature/<feature_name>