计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
commit-changes【效率与协作】ファイルのステージング、コミット、修正をコンベンショナルコミットメッセージで行う。 変更のレビュー、選択的ステージング、HEREDOCフォーマットによる説明的な コミットメッセージの作成、コミット履歴の確認をカバーする。論理的な作業単位を バージョン管理に保存する時、コンベンショナルメッセージでコミットを作成する時、 直近のコミットを修正する時、コミット前にステージされた変更を確認する時に使用する。
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
ファイルを選択的にステージし、明確なコミットメッセージを記述し、コミット履歴を確認する。
ワーキングツリーのステータスを確認し、差分を調べる:
# See which files are modified, staged, or untracked
git status
# See unstaged changes
git diff
# See staged changes
git diff --staged
期待結果: 変更済み、ステージ済み、未追跡のすべてのファイルが明確に把握できる。
失敗時: git status が失敗する場合、gitリポジトリ内にいることを確認する(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
)"
コンベンショナルコミットのタイプ:
| タイプ | 使用場面 |
|---|---|
feat | 新機能 |
fix | バグ修正 |
docs | ドキュメントのみ |
test | テストの追加・更新 |
refactor | 修正でも機能追加でもないコード変更 |
chore | ビルド、CI、依存関係の更新 |
style | フォーマット、空白(ロジック変更なし) |
期待結果: 何をではなくなぜを説明する、説明的なメッセージのコミットが作成される。
失敗時: pre-commitフックが失敗した場合、問題を修正し、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 使用: pre-commitフックが失敗した場合、コミットは作成されていない。--amend を使うと前のコミットを変更してしまう。フック問題の修正後は必ず新しいコミットを作成する。manage-git-branches - コミット前のブランチワークフローcreate-pull-request - コミット後の次のステップresolve-git-conflicts - マージ/リベース時のコンフリクト処理configure-git-repository - リポジトリの設定と規約