Agent-almanac commit-changes
install
source · Clone the upstream repo
git clone https://github.com/pjt222/agent-almanac
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/pjt222/agent-almanac "$T" && mkdir -p ~/.claude/skills && cp -r "$T/i18n/wenyan-ultra/skills/commit-changes" ~/.claude/skills/pjt222-agent-almanac-commit-changes-b65890 && rm -rf "$T"
manifest:
i18n/wenyan-ultra/skills/commit-changes/SKILL.mdsource content
提交
擇檔、書訊、驗史也。
用
- 存工於控→用
- 書規範訊→用
- 改末提交→用
- 提前覆察→用
入
- 必:變檔若干
- 可:提交訊(未給則代擬)
- 可:改前乎
- 可:共作屬
行
一:察變
查樹態、視差也:
# See which files are modified, staged, or untracked git status # See unstaged changes git diff # See staged changes git diff --staged
得:諸變、擇、未追之檔皆明。
敗:
git status 敗→驗於庫內(git rev-parse --is-inside-work-tree)。
二:擇檔
勿用
git add . 或 git add -A,擇檔以免誤入密檔或雜變:
# Stage specific files by name git add src/feature.R tests/test-feature.R # Stage all changes in a specific directory git add src/ # Stage parts of a file interactively (not supported in non-interactive contexts) # git add -p filename
提前察擇:
git diff --staged
得:唯意之檔與變入擇。無
.env、密、巨檔也。
敗:誤入→
git reset HEAD <file> 撤。密入→立撤乃提。
三:書訊
用規範提交式。必以 HEREDOC 傳訊以正格:
git commit -m "$(cat <<'EOF' feat: add weighted mean calculation Implements weighted_mean() with support for NA handling and zero-weight filtering. Includes input validation for mismatched vector lengths. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> EOF )"
規範類型:
| Type | When to use |
|---|---|
| 新功 |
| 除錯 |
| 僅文 |
| 增更驗 |
| 重構無增減 |
| 建、CI、依更 |
| 排版空白(無邏輯變) |
得:提交成,訊述「何以」,非僅「何」也。
敗:預提鉤敗→修、重
git add、建新提交(勿 --amend,敗提未生也)。
四:改末提交(可)
未推共遠方可改:
# Amend message only git commit --amend -m "$(cat <<'EOF' fix: correct weighted mean edge case for empty vectors EOF )" # Amend with additional staged changes git add forgotten-file.R git commit --amend --no-edit
得:前提交就地更。
git log -1 示改後容。
敗:已推→勿改。建新提交代之。強推改提→史分歧。
五:驗提交
# View the last commit git log -1 --stat # View recent commit history git log --oneline -5 # Verify the commit content git show HEAD
得:提交顯於史,訊、作者、檔變皆正。
敗:檔誤→
git reset --soft HEAD~1 撤而留擇、乃重提正。
驗
- 唯意之檔入提交
- 無密(令牌、密碼、
)入.env - 訊合規範式
- 訊體述「何以」
-
示正元git log - 預提鉤(若存)皆過
忌
- 一提過多:一提一邏變。無關者分之
- 盲用
:必先察git add .
。宜按名擇git status - 改已推:永勿改推共枝。重寫史害同作
- 訊含糊:「修錯」「更新」無益。述何變、何以
- 忘
:補忘檔入末提→用--no-edit
存舊訊--no-edit - 鉤敗而
:鉤敗則提未生。--amend
改前提。修鉤後必建新提--amend
參
- 提前枝工manage-git-branches
- 提後下步create-pull-request
- 合併/改基衝突resolve-git-conflicts
- 庫設與規configure-git-repository