| 1 | # Git MCP — каталог тулов |
| 2 | |
| 3 | <!-- GENERATED:ToolCatalog START --> |
| 4 | |
| 5 | > Автогенерация из `ToolCatalog.Build()`. Не править этот блок вручную. |
| 6 | > |
| 7 | > Обновление: из каталога `git-mcp` выполнить `dotnet run --project tools/ExportMcpManifest -- --write`. |
| 8 | > |
| 9 | > Тексты совпадают с полем `description` у инструментов MCP; полная схема — в `inputSchema`. |
| 10 | |
| 11 | ### `git_status` |
| 12 | |
| 13 | Состояние репозитория: ветка, изменённые/добавленные/удалённые файлы. workspace_path — корень репо (каталог .git или файл .git у субмодуля). |
| 14 | |
| 15 | ### `git_diff` |
| 16 | |
| 17 | Дифф: не застейдженные изменения (или --staged по опции). Опционально path — один файл/путь. |
| 18 | |
| 19 | ### `git_log` |
| 20 | |
| 21 | Лог коммитов (git log -n N --oneline). По умолчанию последние 20. |
| 22 | |
| 23 | ### `git_commit` |
| 24 | |
| 25 | Сделать коммит: git add (указанные пути или всё), затем git commit -m. Вызывать только по решению пользователя (логические коммиты). |
| 26 | |
| 27 | ### `git_push` |
| 28 | |
| 29 | Отправить коммиты: git push [remote] [branch]. По умолчанию origin и текущая ветка. dry_run=true — git push --dry-run (без отправки). Вызывать по решению пользователя. |
| 30 | |
| 31 | ### `git_fetch` |
| 32 | |
| 33 | git fetch: обновить ссылки remote (refs/remotes). Опционально remote, --all или --prune. dry_run=true — git fetch --dry-run. Без слияния в рабочее дерево. |
| 34 | |
| 35 | ### `git_pull` |
| 36 | |
| 37 | git pull: подтянуть и слить в текущую ветку. По умолчанию --ff-only (без merge-коммита от агента). dry_run=true — git pull --dry-run (Git 2.27+). Явно: remote + branch. Иначе — upstream текущей ветки. |
| 38 | |
| 39 | ### `git_branch` |
| 40 | |
| 41 | Ветки: action=list (ветки -vv), create (git branch name [start_point]), delete (-d или -D при force). По умолчанию list. |
| 42 | |
| 43 | ### `git_show` |
| 44 | |
| 45 | git show: содержимое коммита или объекта (rev: HEAD, хеш, ветка~1). Опционально path — файл в этой ревизии; stat_only — только --stat. |
| 46 | |
| 47 | ### `git_submodule` |
| 48 | |
| 49 | Субмодули: action=status (git submodule status) или update (git submodule update --init [--recursive], опционально path). |
| 50 | |
| 51 | ### `git_preflight` |
| 52 | |
| 53 | Preflight перед коммитом: классифицирует изменения на semantic/whitespace-only/eol-only/bom-only и возвращает safe-fix подсказки. |
| 54 | |
| 55 | ### `git_preflight_fix_safe` |
| 56 | |
| 57 | Применить безопасные preflight-фиксы: git add --renormalize . и вернуть обновлённый preflight-отчёт. |
| 58 | |
| 59 | <!-- GENERATED:ToolCatalog END --> |
| 60 | |
| 61 | |