# GitHub Usage in SOA * TAs would like to do **code review** every week in every project. Here is the instructions. * Week 7's code will be reviewed from `master/main` branch. Please merge the all previous code in `master/main` before working on Week 8's assignment. ## Code Review Flow Overview TAs will start a new review process from Week 8's code ![](https://i.imgur.com/ZAiLZ2p.jpg) 1. Create a `develop` branch from `master/main` for developing. *(green line in picture)* 1. Weekly progress may have lots of child branches. Please **create child branches from the `develop` branch** and **merge back to `develop` branch** *(orange line in picture)* 1. Hand in every week's code by **making a Pull Request (PR) from `develop` branch to `master/main` branch**. * **IMPORTANT**: Only make this PR **ONCE** for each week. 1. Please also **make a ISSUE linking to this PR** so that the TAs could find it quickly. *(Vertical green line in picture)* 1. The title of the issue should be like: "REVIEW Week 8" 1. The comment for the issue should say: "Please look at PR #5" for example 3. Please conduct your own review within the PR and then **complete the PR by merging it into `master/main`** 4. The TAs will **open a review on the closed PR** after the assignment deadline. ## How to create branches ### How create the `develop` branch from `master/main` branch Switch to `master` or `main` branch, create a `develop` branch and switch to `develop` branch ``` git checkout [master|main] git branch develop git checkout develop git push origin develop ``` ### How to create a child branch from `develop` branch * **HIGHLY RECOMMEND**: **Do not work on the same child branch as your teammates**; create your own child branch from `develop` branch and do your work on this branch. Switch to `develop` branch, create a child branch and switch to child branch ``` git checkout develop git branch <child_branch_name> git checkout <child_branch_name> [... do your work here ...] git add . git commit -m "<summarize the commit>" git push origin <child_branch_name> ```