git config global を前提に、日常的な Git 操作(状況確認・ブランチ作成・安全コミット・同期)を実行する。ユーザーが「コミットして」「ブランチ切って」「pushして」「差分見て」などを依頼したときに使う。git config は変更せず既存設定を利用する。
Resources
2Install
npx skillscat add okash1n/nix-home/ok-git Install via the SkillsCat registry.
SKILL.md
OK Git
目的
Git 日常作業を安全に高速化する。
この skill は git config を変更せず、既存の global 設定を使って操作する。
トリガー例
- 「この変更をコミットして push して」
- 「作業ブランチ切って進めて」
- 「今の状態と差分を見て」
- 「rebase pull して同期して」
絶対ルール
git config --global/--local/--systemを変更しない。git commit --authorを使わない。- コミットメッセージに
Co-Authored-Byを入れない。 - 破壊的操作(
reset --hard、履歴改変 push など)はユーザー明示指示がない限り行わない。
標準フロー
1. 状態確認
scripts/git_ops.sh inspect以下を確認する:
- 現在ブランチ
- 変更状況(
git status -sb) - remote
- global / effective の
user.name,user.email
2. ブランチ作成(必要時)
scripts/git_ops.sh start-branch --name <branch-name> --base main- 既存ブランチ名との衝突を検出して停止する。
--baseを省略すると現在ブランチから作成する。
3. 安全コミット
全変更をまとめてコミット:
scripts/git_ops.sh commit --all --message "<日本語メッセージ>"対象ファイルだけコミット:
scripts/git_ops.sh commit --paths "path/a,path/b" --message "<日本語メッセージ>"ルール:
- コミット時は global
user.name/user.emailを明示的に使用する。 Co-Authored-Byを含むメッセージは拒否する。
4. 同期(pull/push)
rebase pull:
scripts/git_ops.sh syncrebase pull + push:
scripts/git_ops.sh sync --push失敗時の対処
- コンフリクト時は自動解決しない。競合ファイルを提示してユーザー確認後に進める。
- global identity が未設定の場合は停止し、設定状況を報告する(設定変更は行わない)。
実装補助
- 統合スクリプト:
scripts/git_ops.sh