---
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!