Модуль 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.

Fetch ≠ pullUpstreamBase/headReview + checks

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-status

origin — звичайне 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/headDestination і source branch перевірені
Intent/scopeОдна зміна, out-of-scope названо
Files changedНемає випадкових assets, secrets, build output
VerificationReproducible checks, failed/skipped disclosed
Risk/recoveryImpact, 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.

Офіційні джерела

Практична перевірка · урок 27 з 60

Закріпіть матеріал уроку

Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.

1. Що таке origin?
2. Що таке origin/main?
3. Що робить git fetch?