Sari la conținut

Revizuiește și îmbină un PR

Acest ghid îți arată cum să revizuiești și să îmbini un pull request.

  1. Navighează la Pull request-uri în bara laterală
  2. Selectează un PR din listă

Un PR se deschide ca un banc de lucru cu tab-uri, nu ca o singură pagină. Cinci tab-uri se deschid implicit, în această ordine: Prezentare, Diff, Control sursă, Chat și Acțiuni (verificările CI grupate după workflow). Revizuire — progresul pipeline-ului de revizuire, apoi artefactul pe care l-a publicat, cu coloana sa de constatări — nu este în mod deliberat unul dintre ele: un PR nu are revizuire până când cineva nu cere una, așa că Întreabă AI îl deschide. Un terminal, un editor pentru un singur fișier, un code-server integrat și un browser în aplicație se deschid la cerere; tab-urile de previzualizare a implementării sunt injectate automat când este detectată o adresă URL de previzualizare pe PR. Aranjarea tab-urilor este reținută pentru fiecare PR.

Tab-ul Prezentare conține metadatele PR-ului (autor, ramură, etichete, persoane asignate, reacții, commit-uri, starea verificărilor) și rândul de acțiuni: reîmprospătare, Revizuire, Fuzionează, deschidere în IDE și un meniu flotant ⋯.

Deschide tab-ul Diff ca să vezi tot diff-ul PR-ului dintr-o dată, cu un arbore de fișiere pentru a sări de la un fișier la altul.

  • Butonul de setări din bara de instrumente a diff-ului comută între vizualizarea împărțită (una lângă alta) și cea unificată și activează sau dezactivează trecerea automată la linia următoare și ligaturile fontului de cod.
  • Antetele de hunk @@ sunt înlocuite de controalele Show N lines / Show end of file, care inserează contextul din jur la clic.
  • Apasă j / k pentru a trece de la un fișier la altul, c pentru a restrânge sau extinde fișierul focalizat, t pentru a readuce bara laterală la arborele de fișiere și ⌘F pentru a căuta în tot diff-ul (Enter / Shift+Enter parcurg potrivirile).
  • Apasă v pentru a marca fișierul focalizat ca vizualizat, iar cursorul avansează la fișierul următor. Pe GitHub starea „vizualizat” este stocată pe forge, așa că te urmează între clienți; GitLab și Bitbucket nu au o astfel de API, așa că acolo este reținută doar pe acest dispozitiv.

Tragerea cu mouse-ul în zona de cod selectează textul până la coloana exactă, iar ⌘C copiază sursa brută, nu marcajele de diff afișate.

  1. Atinge marginea din stânga a unei linii de cod pentru a deschide o casetă de comentariu ancorată la acea linie, sau folosește butonul + de pe antetul unui fișier pentru un comentariu la nivel de fișier
  2. Scrie-ți observațiile în Markdown
  3. Trimite

Pe GitHub și GitLab, caseta de comentariu oferă două moduri de trimitere: Adaugă un singur comentariu publică imediat, iar Pornește o revizuire / Adaugă la revizuire pune comentariul într-o revizuire în așteptare, care se trimite cu Aprobă, Cere modificări sau Comentează. Bitbucket nu are gruparea în revizuiri în așteptare, așa că acolo fiecare trimitere publică imediat. O publicare imediată afișează o stare în așteptare până când forge-ul o confirmă, apoi trece la sincronizat. Dacă publicarea eșuează, firul este marcat cu eroarea și oferă o reîncercare.

Doar corpul revizuirii este o ciornă: este salvat pe server sub cheia (proprietar, repo, număr de PR) la scurt timp după ce te oprești din tastat, așa că supraviețuiește unei reîncărcări și te urmează între clienții desktop și web.

  1. Apasă Revizuire în rândul de acțiuni din Prezentare (este ascuns pe PR-urile proprii și pe un PR închis sau îmbinat)
  2. Scrie corpul revizuirii. Poți atașa o imagine, insera un emoji sau un GIF și comuta între scriere și previzualizare
  3. Apasă Cere modificări, Comentează sau Aprobă

Verdictul este butonul — nu există un selector separat de verdict. După Aprobă sau Cere modificări, butonul se redenumește în Aprobat sau Modificări solicitate, iar corpul ciornei este golit. Un verdict Comentează lasă butonul etichetat Revizuire.

Butonul Fuzionează apare când ai acces de scriere, iar PR-ul este deschis și nu este ciornă. Culoarea lui este un semnal de disponibilitate derivat din aprobările obligatorii și din starea verificărilor (gata / în așteptare / blocat) — este doar orientativ. Butonul nu este niciodată dezactivat de starea revizuirii; protecția ramurilor a forge-ului este cea care impune regulile.

  1. Apasă Fuzionează pentru a deschide panoul flotant de îmbinare
  2. Alege o metodă de îmbinare: squash, merge commit sau rebase (squash este implicit). Bitbucket nu are o îmbinare reală prin rebase, așa că rebase se mapează pe strategia sa fast-forward și eșuează pe o ramură divergentă
  3. Pentru squash și merge commit, editează titlul și descrierea precompletate ale commit-ului. Rebase nu le preia pe niciuna și ascunde ambele câmpuri
  4. Citește panoul de avertismente — numește verificările eșuate și revizuirile în așteptare, dar nu te blochează
  5. Apasă butonul de îmbinare din panoul flotant pentru a confirma

Îmbinarea este ireversibilă: împinge commit-uri pe forge, așa că primește un pas de confirmare în loc de o intrare de anulare. După aceea, cache-ul PR-ului este invalidat, starea lui devine Fuzionat și se declanșează un eveniment PullRequestStatusChanged cu starea merged. Acel eveniment eliberează worktree-ul efemer „deschide în editor” și pornește două pipeline-uri predefinite: Stale repository cleanup, care elimină worktree-urile și folderele de conversație învechite ale PR-ului, și Release notes, care redactează o intrare de changelog.

Meniul flotant ⋯ din tab-ul Prezentare conține Întreabă AI, care pornește pipeline-ul predefinit pr_review pentru acest PR. Apare doar cât timp PR-ul este deschis. Vezi Folosește revizuirea bazată pe IA pentru ce face pipeline-ul și cum să îi publici constatările, și Calculul revizuirii pentru modelul determinist de cohorte și axe.

Control Center importă și PR-uri deschise de oameni din afara aplicației. Fluxul de revizuire de mai sus este identic. PR-urile externe sunt detectate de serviciul de interogare periodică a PR-urilor.