Git Commits
WORKFLOW
- •Run
git status --porcelainto see all changes (modified and untracked) - •Run
git diffto understand the changes - •Stage and commit ALL changes in one command:
- •For ALL files (including untracked):
git add -A && git commit -m "..." - •git commit -a only stages tracked/modified files, use git add -A for full coverage
- •For ALL files (including untracked):
- •Push changes
- •Verify clean:
git status --porcelainshould return empty - •Then stop
Format
code
<type>(<scope>): <summary> <body with what changed and why>
- •Title (first line): Required - follows
<type>(<scope>): <summary>format - •Body (after blank line): REQUIRED - for each changed file, add a parent bullet with the file path, then nested bullets for what changed and why.
Example
code
<type>(<scope>): <summary>
src/components/button.js
- What: Added Button with size props.
- Why: Enable dynamic size adjustments for a customizable UI.
tests/button.test.js
- What: Created tests for Button sizing.
- Why: Ensure reliable rendering and detect regressions.
SCOPE
Specifies area of change:
- •auth, user, dashboard, api, database, ui, transfer, etc.
ANTI-PATTERNS
- •NEVER skip the body - it documents intent