process-commit
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesegit-sequential-stagegit-sequential-stagebash
undefinedgit-sequential-stagegit-sequential-stagebash
undefinedhunk番号を指定して部分的にステージング
指定hunk编号进行部分暂存
git-sequential-stage -patch="path/to/changes.patch" -hunk="src/main.go:1,3,5"
git-sequential-stage -patch="path/to/changes.patch" -hunk="src/main.go:1,3,5"
ファイル全体をステージング(ワイルドカード使用)
暂存整个文件(使用通配符)
git-sequential-stage -patch="path/to/changes.patch" -hunk="src/logger.go:*"
git-sequential-stage -patch="path/to/changes.patch" -hunk="src/logger.go:*"
複数ファイルの場合(ワイルドカードと番号指定の混在も可能)
多文件场景(可混合使用通配符和编号指定)
git-sequential-stage -patch="path/to/changes.patch"
-hunk="src/main.go:1,3"
-hunk="src/utils.go:"
-hunk="docs/README.md:"
-hunk="src/main.go:1,3"
-hunk="src/utils.go:"
-hunk="docs/README.md:"
undefinedgit-sequential-stage -patch="path/to/changes.patch"
-hunk="src/main.go:1,3"
-hunk="src/utils.go:"
-hunk="docs/README.md:"
-hunk="src/main.go:1,3"
-hunk="src/utils.go:"
-hunk="docs/README.md:"
undefined実行手順
执行步骤
Step 0: リポジトリルートに移動
Step 0: 移动到仓库根目录
Step 1: 差分を取得
Step 1: 获取差异
bash
git ls-files --others --exclude-standard | xargs git add -Nbash
git ls-files --others --exclude-standard | xargs git add -Nより安定した位置特定のため
为了更稳定地定位
git diff HEAD > .claude/tmp/current_changes.patch
undefinedgit diff HEAD > .claude/tmp/current_changes.patch
undefinedStep 2: 分析
Step 2: 分析
hunk単位で変更を分析し、最初のコミットに含めるhunkを決定してください
- hunkの内容を読み取る: 各hunkが何を変更しているか理解
- 意味的グループ化: 同じ目的の変更(バグ修正、リファクタリング等)をグループ化
- コミット計画: どのhunkをどのコミットに含めるか決定
bash
undefined请按hunk单元分析变更,确定要包含在首次提交中的hunk
- 读取hunk内容:理解每个hunk的变更内容
- 语义分组:将同一目的的变更(如bug修复、重构等)分组
- 提交规划:确定哪些hunk归入哪个提交
bash
undefined全体のhunk数
统计总hunk数
grep -c "^@@" .claude/tmp/current_changes.patch
grep -c "^@@" .claude/tmp/current_changes.patch
各ファイルのhunk数
统计每个文件的hunk数
git diff HEAD --name-only | xargs -I {} sh -c 'printf "%s: " "{}"; git diff HEAD {} | grep -c "^@@"'
undefinedgit diff HEAD --name-only | xargs -I {} sh -c 'printf "%s: " "{}"; git diff HEAD {} | grep -c "^@@"'
undefinedStep 3: 自動ステージング
Step 3: 自动暂存
選択したhunkをで自動的にステージングしてください
git-sequential-stagebash
undefined请使用自动暂存选中的hunk
git-sequential-stagebash
undefinedgit-sequential-stageを実行(内部で逐次ステージングを安全に処理)
执行git-sequential-stage(内部安全处理逐次暂存)
部分的な変更をステージング(hunk番号指定)
暂存部分变更(指定hunk编号)
git-sequential-stage -patch=".claude/tmp/current_changes.patch" -hunk="src/calculator.py:1,3,5"
git-sequential-stage -patch=".claude/tmp/current_changes.patch" -hunk="src/calculator.py:1,3,5"
ファイル全体をステージング(意味的に一体の変更の場合)
暂存整个文件(变更在语义上为一个整体时)
git-sequential-stage -patch=".claude/tmp/current_changes.patch" -hunk="tests/test_calculator.py:*"
git-sequential-stage -patch=".claude/tmp/current_changes.patch" -hunk="tests/test_calculator.py:*"
複数ファイルの場合(混在使用)
多文件场景(混合使用)
git-sequential-stage -patch=".claude/tmp/current_changes.patch"
-hunk="src/calculator.py:1,3,5"
-hunk="src/utils.py:2"
-hunk="docs/CHANGELOG.md:*"
-hunk="src/calculator.py:1,3,5"
-hunk="src/utils.py:2"
-hunk="docs/CHANGELOG.md:*"
git-sequential-stage -patch=".claude/tmp/current_changes.patch"
-hunk="src/calculator.py:1,3,5"
-hunk="src/utils.py:2"
-hunk="docs/CHANGELOG.md:*"
-hunk="src/calculator.py:1,3,5"
-hunk="src/utils.py:2"
-hunk="docs/CHANGELOG.md:*"
コミット実行
执行提交
git commit -m "$COMMIT_MSG"
undefinedgit commit -m "$COMMIT_MSG"
undefinedStep 4: 繰り返し
Step 4: 重复操作
Step 5: 最終確認
Step 5: 最终确认
ワイルドカード使用の判断基準
通配符使用判断标准
- 新規ファイルの追加
- すべての変更が同じ目的(例:ファイル全体のリファクタリング、ドキュメント更新)
- 「hunkを数えるのが面倒」という理由で使用するものではない。
- 新增文件时
- 所有变更为同一目的(例如:文件整体重构、文档更新)
- 不得因“统计hunk太麻烦”而使用通配符。