<style> .header-title { text-align: center; color: #005AB5 !important; } </style> <h1 class="header-title">Practice I 20230306</h1> ## Scenario > **FoodTracker** is a project implemented by a team with 5 members. > At the beginning of the project, each member did their own duty, so there aren't major problems until they integrate the project code in one codebase. > After project integraton, they realized the project had been lacking a version control, so they start using the `git` to solve version control issues. > Unfortunately, they noticed some issues after apply `git`. > Please help them solve those that they are experiencing. ## Initial Graph ![Initial Graph](https://i.imgur.com/YGPZu5P.png) ## Troubleshooting > > **Notice:** > > - Complete each task in order. > - Git graph must be same with the following image in each problem. > - Kindly record the command or describe the way for each step. For example: 1. `git checkout develop` 2. `git reset HEAD~3 --soft` 3. `git commit` 4. Write new commit message. 1. Solve commit typo - **Description:** Reviewer noticed that there is one typo in the commit message. (Correct word is `feat` not `faet`). - **Affected Branch:** - `feature/main-function-development` - **Mission:** Correct the commit message without affecting other commits and branches. ![Solve commit typo](https://i.imgur.com/3yFxbSg.png) 1. Adjust branch base - **Description:** Reviewer noticed that there are some necessary files are missing in some branch. - **Affected Branch:** - `feature/login-function-development` - `feature/portal-function-development` - `feature/main-function-development` - **Mission:** Make each feature branch include files from `feature/mail-function-development`. ![Adjust branch base](https://i.imgur.com/E5semyi.png) 1. Merge redundant commits - **Description:** Reviewer noticed that there are too many commits in one branch. - **Affected Branch:** - `feature/portal-function-development` - **Mission:** Merge commits without affecting other branches. ![Merge redundant commits](https://i.imgur.com/vpagKte.png) 1. Complete project integration - **Description:** After solved the issue in branch, reviewer decide to merge all branches into `develop` to make project be complete. - **Affected Branch:** - `develop` - **Mission**: Merge all necessary feature branch into `develop`. ![Complete project integration](https://i.imgur.com/MOOL0Yt.png) 1. Reinstate - **Description:** If there is any error in operation , could you make each branch back to the original state? - **Affected Branch:** - `develop` - `feature/login-function-development` - `feature/portal-function-development` - `feature/main-function-development` - **Mission**: Reset branches as possible as you can. ![Initial Graph](https://i.imgur.com/YGPZu5P.png)