Главная · Скиллы · git-commit

git-commitOfficialgit коммит GitHub Copilot

github/awesome-copilot

Git коммит.

Установка

npx -y skills add github/awesome-copilot --skill git-commit --agent claude-code

Git-коммит с Conventional Commits

Обзор

Создавайте стандартизированные семантические git-коммиты по спецификации Conventional Commits. Анализируйте реальный дифф, чтобы определить подходящий тип, scope и сообщение.

Формат Conventional Commit

[optional scope]: 

[optional body]

[optional footer(s)]

Типы коммитов

ТипНазначение
featНовая функция
fixИсправление бага
docsТолько документация
styleФорматирование/стиль (без логики)
refactorРефакторинг (без функции/фикса)
perfУлучшение производительности
testДобавить/обновить тесты
buildСистема сборки/зависимости
ciИзменения CI/конфига
choreОбслуживание/прочее
revertОткат коммита

Ломающие изменения

# Восклицательный знак после type/scope
feat!: remove deprecated endpoint

# Футер BREAKING CHANGE
feat: allow config to extend other configs

BREAKING CHANGE: `extends` key behavior changed

Рабочий процесс

1. Анализ диффа

# Если файлы проиндексированы, используйте staged-дифф
git diff --staged

# Если ничего не проиндексировано, используйте дифф рабочего дерева
git diff

# Также проверьте статус
git status --porcelain

2. Индексирование файлов (при необходимости)

Если ничего не проиндексировано или нужно сгруппировать изменения иначе:

# Проиндексировать конкретные файлы
git add path/to/file1 path/to/file2

# По паттерну
git add *.test.*
git add src/components/*

# Интерактивно
git add -p

Никогда не коммитьте секреты (.env, credentials.json, приватные ключи).

3. Генерация сообщения коммита

Проанализируйте дифф, чтобы определить: Тип — какого рода изменение?; Scope — какая область/модуль затронуты?; Описание — однострочное резюме изменения (настоящее время, повелительное наклонение, <72 символов).

4. Выполнение коммита

# Одна строка
git commit -m "[scope]: "

# Многострочно с телом/футером
git commit -m "$(cat <<'EOF'
[scope]: 




EOF
)"

Лучшие практики

  • Одно логическое изменение на коммит
  • Настоящее время: «add», не «added»
  • Повелительное наклонение: «fix bug», не «fixes bug»
  • Ссылайтесь на issue: Closes #123, Refs #456
  • Держите описание короче 72 символов

Протокол безопасности git

  • НИКОГДА не меняйте git config
  • НИКОГДА не запускайте деструктивные команды (--force, hard reset) без явного запроса
  • НИКОГДА не пропускайте хуки (--no-verify), если пользователь не просит
  • НИКОГДА не делайте force push в main/master
  • Если коммит упал из-за хуков — исправьте и создайте НОВЫЙ коммит (не amend)

Из того же репозитория