<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

## 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.

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`.

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.

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`.

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.
