--- title: "Jam 05 - Exercise 0" tags: - 3 🧪 in testing - 4 🥳 done - classes - uml - arraylist - documentation --- <!-- markdownlint-disable line-length single-h1 no-inline-html --> <!-- markdownlint-configure-file { "ul-indent": { "indent": 4 }, "link-fragments": {"ignore_case": true} } --> {%hackmd dJZ5TulxSDKme-3fSY4Lbw %} # Getting Started Before diving into the exercises, let's set up our workspace and create a new feature branch for this jam: 1. **Verify Clean Working Directory** ```bash git status ``` :::warning 🚧 **Check Your Working Directory** If your working directory is not clean (you see files listed when running `git status`), review each file carefully: **Questions to Ask About Each File:** - Have I modified this while working on exercises? - Did I forget to commit changes from earlier work? - Is this a new file that should be part of my solution? **Common File Types:** 1. IntelliJ Configuration Files - Located in the `.idea` folder - Safe to commit without review - Important for consistent project setup 2. Modified Files - Check for uncommitted changes from previous exercises - Look for fixes made to pass checkstyle or fix compile errors - Review changes with `git diff filename` to see: - Added lines (green with +) - Removed lines (red with -) - Commit changes you want to keep - Use git commands from status output to revert unwanted changes 3. Untracked Files - The course `.gitignore` is already set up to handle generated files - New untracked files usually need to be: - Committed if they're part of your solution - Deleted if they're temporary/unwanted - Consider the source of each untracked file **Important:** Commit IDE configuration files to maintain consistent project setup. Don't modify `.gitignore` or ignore files without understanding why - ask for help if unsure! ::: 2. **Create and Switch to Feature Branch** ```bash git checkout -b jam05 ``` This creates a new branch called `jam05` and switches to it. You can verify your current branch with: ```bash git branch ``` You should see an asterisk (*) next to `jam05`. This indicates your active branch. 3. **Create Package Directory** Create a directory `jam05` under `src/main/java`: ```bash mkdir -p src/main/java/jam05 # Or use the IDE ``` :::info 🔧 **Branch Management** Remember from Jam 04: - Feature branches (like `jam05`) isolate your work-in-progress changes - Your `main` branch should always contain stable, working code - You'll merge your `jam05` branch back to `main` when everything works You can always check which branch you're on by looking at: - The output of `git branch` - The branch indicator in IntelliJ's top-left corner ::: Now that we have our workspace set up and our feature branch created, we're ready to start designing our product management system!