Milestone 9: Source Control¶
Due Date: October 27
You must watch the Git and Github lecture before working on this milestone.
The goal of this milestone is to ensure everything is set up correctly, and the whole team has started working together on their app using a shared codebase, with everything in git. The codebase does not need to do much, but it should at least include your framework. For example, if you are building an Android app then the codebase should be an Android app.
By this date you should have
- Setup your github email correctly. Your most recent commits do not show a grey octocat avatar in github.
- Have a shared git repo in github,
- The code in the repo builds, something.
- Every team member can check out the code, build it, and run it on their laptop.
- Every team member has made a change to the code and pushed it to github.
- Every team member has pulled in changes from other members.
- Every team member has experienced and resolved a merge conflict.
For the merge conflict just have someone else in the time change some line in the code and push it. Then, before you pull, make sure you change that same line (to something else) and commit it. Then try to pull. You will see a merge conflict. Resolve it. Commit your changes. Push.
From here on out everyone in the team will be using git as part of their workflow. Remember, your final grade is largely based on your git commit log . It shows us everything you did.
Your project should have a
Readme.md on the root directory. For this class
Readme is written for other developers, not for your end users. Namely
, it should be written so that the TAs and I have all the information need
to compile and run your code, but also so you can do so again when you have
to re-do everything on your new laptop.
Below is a template for a good Readme. You don’t have to include everything in there.
Coding Style Guide¶
Since you are about to start coding as a team, it is useful if your team also chooses a style guide to follow. You can choose one of Google’s style guides, or find a different one. Add a link to your chosen guide from your Readme.md.
Most modern IDEs will automatically format your code to fit a chosen style, for example, this is how you do it in WebStorm. Learn to use your IDE.
You have to be able to
- pull from the shared repo,
- run application locally (laptop or emulator)
- commit to shared repo,
- push to the shared repo,
- merge your branch into master, via pull request or regular merge,
- and resolve a merge conflict.
Grade is 100 minus the total points lost, with minimum of 0. See grading scale in Syllabus. Points lost are:
|Deliverable||Points lost if you don't deliver|
|Username appears in git log on github repo.||100|
|Git/github email setup correctly to match.||50|
|Can build and run code on laptop. Show during our meeting, if I ask you to.||100|
|User has Merge commit (two parents) in github log.||30|
|Has resolved a merge conflict (we can't actually check this AFAIK, so we will have to trust you did it).||30|