Daily Workflow
# 1. Sync dev
git checkout dev && git pull
# 2. Buat branch fitur
git checkout -b feat/your-feature
# 3. Kerja dan commit
git add .
git commit -m "feat(scope): meaningful message"
# 4. Push dan buat PR
git push -u origin feat/your-feature
Commit Practice
- Commit sering: setiap logic selesai
- Squash sebelum PR: rapikan commit history
- Gunakan commit-convention: semua commit harus valid
Rebasing
# Sync dengan dev sebelum PR
git rebase dev
# Interactive rebase untuk squash
git rebase -i HEAD~5
Pull Request
Setiap PR harus:
- Judul jelas: pakai conventional commit format
- Deskripsi: apa yang diubah dan kenapa
- Testing evidence: screenshot atau log
- Link issue jika ada:
Closes #42
PR Checklist
- Kode mengikuti naming-conventions
- Tidak ada warning ESLint/TypeScript
- Test sudah jalan (
pnpm test/go test ./...) - Tidak ada kode yang di-comment
- Branch sudah di-rebase dengan
dev
Code Review
Untuk Reviewer
- Fokus ke logic, bukan formatting (itu tugas linter)
- Cari edge cases yang terlewat
- Pastikan error handling proper
- Cek apakah ada side effects tak terduga
Untuk Author
- Minta review ke minimal 1 orang (atau tunggu 24 jam)
- Jelaskan konteks di deskripsi PR
- Respons cepat ke comments
Merge Strategy
| Branch Merge | Strategy | Alasan |
|---|---|---|
feat→dev | Squash merge | Satu commit rapi per fitur |
dev→main | Merge commit | Pertahankan history untuk release trace |