Перейти к основному содержимому

Git Workflow

Назначение

Git history в Pin используется как инженерный audit trail. Commit должен быть маленьким, осознанным и связанным с завершенным этапом работы.

Инициализация Репозитория

git init
git status --short --branch

В root должны быть .gitignore и .gitattributes для .NET, C#, React, Vite, TypeScript, Docker, local runtime artifacts, secrets и generated files.

Ежедневный Flow

Перед началом этапа:

git status --short --branch
git fetch --all --prune

Во время работы:

  • держи документацию и реализацию в одном этапе, если они описывают одно поведение;
  • используй git mv для переименований и перемещений;
  • не смешивай unrelated changes в одном commit;
  • не коммить secrets, .env, dependency folders, build outputs;
  • после появления remote работай в feature branch.

Перед commit:

git status --short --branch
git diff
git add <intentional-paths>
git diff --cached
git commit -m "<type>(<scope>): <summary>"

Branch Naming

  • feat/<scope> — продуктовая функциональность.
  • fix/<scope> — исправление bug.
  • docs/<scope> — документация.
  • chore/<scope> — обслуживание.
  • refactor/<scope> — refactor без изменения поведения.
  • test/<scope> — только tests.

Commit Style

Сообщение коммита пишется на русском, осмысленно и без служебного мусора (не «тесты зелёные», «подтверждено на API» и т.п.). Префикс conventional-commit (feat/fix/docs/refactor/chore/ test + scope) допустим, но summary — на русском и по сути изменения. Полные правила — git-commit-rules.md.

Примеры:

  • docs: обновить правила документации
  • feat(employees): команда создания сотрудника с контактами
  • fix(pin): корректный расчёт формул для свежих записей

Запрещенные Действия

Без явной просьбы пользователя нельзя выполнять:

  • git reset --hard;
  • git clean -fd;
  • forced checkout;
  • rewrite published history;
  • удаление чужих изменений.

Перед Финальным Ответом

Если задача включала изменения файлов, проверь:

git status --short --branch

Если git еще не инициализирован, просто укажи это в финальном ответе.

Обратные ссылки

Автоссылки: где используется этот документ.