Файл, коміт і PR мають різні ролі
Збереження файлів захищає поточну роботу. Коміт фіксує завершений, зрозумілий і потенційно відкотний крок. PR пояснює повну зміну: мету, реалізацію, перевірки, ризики та межі.
Гілка описує задачу загалом, а коміти — окремі етапи її виконання. Великий змішаний коміт ускладнює review, пошук причин і rollback.
| Артефакт | Питання, на яке відповідає |
|---|---|
| Diff | Що фактично змінилося? |
| Коміт | Яку одну завершену дію зафіксовано? |
| PR | Навіщо потрібна повна зміна і як її перевірити? |
| Evidence | Які команди та результати підтверджують результат? |
Атомарний коміт відповідає плану
- Перегляньте diff перед індексацією.
- Додайте лише файли поточного логічного кроку.
- Не включайте автоматичне форматування, перейменування або сторонній cleanup.
- Переконайтеся, що призначення коміту можна пояснити одним реченням.
- Перевірте команду або тест, повʼязані саме з цим кроком.
- Збережіть окремо documentation чи інші самостійні зміни.
test(checkout): зафіксувати помилку порожнього кошика
fix(checkout): відхилити замовлення без позицій
docs(api): описати відповідь для порожнього кошика Структура PR_DESCRIPTION.md
- Що зроблено — компоненти, логіка та додані тести.
- Навіщо — проблема й підтверджена першопричина.
- Як перевірити — точні команди, сценарії та очікувані результати.
- Ризики та крайні випадки — що перевірено і що потребує уваги.
- Поза межами — свідомо невиконані суміжні зміни.
Не приписуйте репозиторію вигадані докази
Claude може запропонувати назву коміту, пояснення diff або чернетку PR. Джерелами правди залишаються фактичний diff, історія комітів, реально виконані перевірки та список змінених файлів.
Перед публікацією PR звірте кожне твердження. Не пишіть, що тест, документація або coverage оновлені, якщо цього немає у diff та результатах команд.
| Твердження | Чим підтвердити |
|---|---|
| Тест проходить | Назва команди та її фактичний exit code |
| Змінено лише потрібні файли | git status і diff stat |
| Виправлено root cause | Regression evidence і code path |
| PR готовий | Review notes, перевірки та людське рішення |
Перевірка перед упаковкою PR
- Зіставте diff з approved plan.
- Перевірте атомарність комітів.
- Запишіть реальні команди та результати.
- Додайте root cause, ризики й non-goals.
- Перевірте, що ручні сценарії відтворювані.
- Залиште merge та інші зовнішні дії на людське рішення.
Канонічне джерело уроку · JavaRush
Відкрити матеріал JavaRush