# Git Workflow Guide

This is an example of updating the repository with nonconflicting changes.

## Workflow Steps

**First, ensure the correct branch is active:**
```bash
git checkout dev
```

**Ensure everything looks correct:**
```bash
git status
```

**Update:**
```bash
git pull origin dev
```

**Add the new files:**
```bash
git add .
```

**Commit changes:**
```bash
git commit -m 'changes go here'
```

**Push:**
```bash
git push origin dev
```

**Checkout master:**
```bash
git checkout master
```

**Merge changes:**
```bash
git merge dev
```

**Ensure everything looks correct:**
```bash
git status
```

**Tag the new version:**
```bash
git tag -a v38.21 -m 'Version 38.21'
```

**Push the changes:**
```bash
git push origin master --tags
```

**Switch back to dev:**
```bash
git checkout dev
```

## Build Process

Compiled code (.class files, etc) are ignored in this repo; when Jenkins sees the push, it will recompile everything, using the Eclipse JDK, which produces faster bytecode than Oracle's.