52 lines
1010 B
Markdown
52 lines
1010 B
Markdown
# Git Workflow
|
|
|
|
## Branch Strategy
|
|
|
|
```
|
|
feature/* → dev → master
|
|
```
|
|
|
|
| Branch | Purpose |
|
|
|--------|---------|
|
|
| `master` | Production only |
|
|
| `dev` | Integration/testing |
|
|
| `feature/*` | All new work |
|
|
|
|
## Rules
|
|
|
|
1. **All work starts on a feature branch** - Never commit to dev/master directly
|
|
2. **Commit early and often** - Working code = committed code
|
|
3. **No uncommitted files** - Working directory must be clean before switching branches
|
|
4. **Always flow forward** - feature → dev → master, never skip
|
|
5. **Reset feature branches after merge** - Keep them synchronized with master
|
|
|
|
## Workflow
|
|
|
|
```bash
|
|
# Start work
|
|
git checkout -b feature/name
|
|
|
|
# Commit working code immediately
|
|
git add .
|
|
git commit -m "feat: description"
|
|
|
|
# Test on dev
|
|
git checkout dev
|
|
git merge feature/name
|
|
|
|
# Deploy to production
|
|
git checkout master
|
|
git merge dev
|
|
|
|
# Clean up
|
|
git checkout feature/name
|
|
git reset --hard master
|
|
```
|
|
|
|
## Pre-Flight Check
|
|
|
|
Before switching branches:
|
|
```bash
|
|
git status # Must be clean
|
|
```
|