-
Notifications
You must be signed in to change notification settings - Fork 0
Using git
Members of team-1 should follow the following steps to contribute:
-
Clone the repository Navigate to a directory where you want the "team-1" repository, and type:
git clone -b develop git@github.com:aaltowebapps/team-1.gitThe parameter-b developchecks out the development branch instead of the "master". This means your working directory contains the latest and greatest. -
Run the self-test Next you should run the self-test to see if your environment/browser is supported and to ensure nobody accidentally broke the "develop" branch. If the self-test does not pass you can ask for help configuring your system, or revert the latest changes that broke the branch. If you revert anything you shouldn't forget to kick some butt so this will get fixed.
-
Create a feature branch Next you want to start developing, for this you need a feature branch. Suppose you want to develop the feature "awesomeness". Create a new branch as follows:
git checkout -b awesomeness -
Write some tests Now you are ready to start developing, so the first thing to do is write some Jasmine unit test. If you add any new html, js, or css files you should add those files to the list in "server/public/selftest.htm". For each new js file you should create the specs in a similarly names file under "server/public/selftest/unittest". Note that you can start committing your tests from the start; they do not have to pass! You should commit your changes every time you feel like it. The more regular the better, but do write commit messages that describe the changes. Naturally you're also free to push your commits to the github repository.
-
Develop the feature Make all failing tests pass by implementing the feature. During the implementation you are still free to commit & push as much as you like, it doesn't have to work.
-
Integrate your feature You can merge your feature with the "develop" branch once the feature has reached release quality. Release quality means that all tests pass, the user interface is ready, and all features that were available when you created your branch are still available. You are not required to test everything on the actual target platform, however you should have a reasonable confidence that it would work also on that device. You integrate the feature by switching to the "develop" branch:
git checkout developMake sure that your develop branch is up-to-date and merge your feature branch:git merge awesomenessMake sure all self-tests still pass and do a quick sanity check to ensure nothing has broken. Then commit your final changes and push the merged "develop" branch into the github repository. It is crucial not to break the "develop" branch, since others will branch from that when they start working on a new feature. If the "develop" branch has failing tests that will waste a lot of time from the rest of the team! -
Create a release When the "develop" branch has reached release quality, and it has been verified to work on the target device, it can be promoted to the "master" branch. This is done by checking out the "master":
git checkout masterMerging in the "develop" branch:git merge developAnd after sufficient testing on the target device you can commit and push this. Next this should be uploaded to the web-server.