← ClaudeAtlas

git-commitlisted

Guide for breaking changes into logical, atomic commits using interactive staging. Use when committing changes that span multiple concerns, when needing to stage parts of files (hunks), when asked to create well-organized commit history, or when changes should be split into multiple commits.
aiskillstore/marketplace · ★ 329 · Code & Development · score 79
Install: claude install-skill aiskillstore/marketplace
# Git Commit Break changes into logical, atomic commits using interactive staging. ## Workflow 1. Analyze all changes 2. Identify logical units (one concern per commit) 3. Stage relevant changes (whole files or hunks) 4. Commit with a good message 5. Repeat until all changes are committed ## Analyzing Changes ```bash git status # overview of changed files git diff # unstaged changes git diff --cached # staged changes git diff HEAD # all changes (staged + unstaged) ``` Look for natural boundaries: different features, bug fixes, refactors, or config changes. ## Identifying Logical Commits Each commit should represent one logical change. Signs that changes belong in separate commits: - Different purposes (bug fix vs feature vs refactor) - Unrelated files or components - Changes that could be reverted independently - Separate items from a PR review or task list Common groupings: - Related files implementing a single feature - A bug fix with its test - Rename/move operations separate from behavior changes - Config or dependency changes separate from code ## Staging Strategies ### Whole files ```bash git add <file> # stage entire file git add <dir>/ # stage all files in directory git reset HEAD <file> # unstage file ``` ### Partial files (hunk staging) Use `git add -p` to stage specific hunks within a file: ```bash git add -p # interactively stage hunks from all file