Модуль 7 · Урок 27
Remotes, pull requests і code review
Remote-tracking ref показує останній відомий remote state; він не оновлюється магічно. fetch отримує objects/refs без зміни working tree, pull одразу інтегрує upstream, а push публікує обрані commits. Pull request додає review conversation і policy gates навколо branch diff.
Local, remote-tracking і remote
git remote -v
git fetch origin
git branch -vv
git log --oneline main..origin/main
git push -u origin feat/reading-statusorigin — звичайне local ім’я URL. origin/main — local remote-tracking ref після fetch, а main — local branch. Pull часто означає fetch+merge (залежно від config/options), тому перед ним важливо знати upstream і clean/dirty state.
Focused pull request
| Поле | Доказ |
|---|---|
| Base/head | Destination і source branch перевірені |
| Intent/scope | Одна зміна, out-of-scope названо |
| Files changed | Немає випадкових assets, secrets, build output |
| Verification | Reproducible checks, failed/skipped disclosed |
| Risk/recovery | Impact, limitations, revert plan |
Draft PR доречний до готовності до review. Кожен новий commit оновлює той самий PR; після суттєвої зміни потрібен re-review.
Review decision і enforcement
Comment дає feedback без рішення; Approve сигналізує readiness; Request changes вимагає виправлення. Але blocking effect з’являється лише коли repository rules/branch protection справді вимагають review. Так само зелений check — evidence конкретної automation, а не доказ відсутності всіх defects.
Практика без real GitHub
Заповніть remote-state map, PR template і review checklist для synthetic branch. Перевірте diff file-by-file та сформулюйте один blocker, suggestion або approval із acceptance evidence.
Офіційні джерела
Закріпіть матеріал уроку
Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.