1. Always Check Before Operating (+4)
1. Always Check Before Operating
# Check for uncommitted changes before destructive operations
if ! git diff --quiet; then
echo "Error: uncommitted changes"
exit 1
fi
2. Use --no-verify for Batch Commits
# Skip hooks in batch operations for speed
git commit -m "message" --no-verify
3. Handle Offline/Network Errors Gracefully
# Suppress errors and provide fallback
if ! git pull --quiet 2>/dev/null; then
echo "Warning: could not pull (offline?)"
fi
4. Track Operation Statistics
# Always maintain counters for summary
SUCCESS=0; FAILED=0; SKIPPED=0
# Update appropriately in each operation
5. Validate Git Repositories
# Always check .git directory exists
[[ -d "$repo/.git" ]] || continue