Tovább a tartalomhoz

PR átnézése és összefésülése

Ez az útmutató bemutatja, hogyan nézhet át és fésülhet össze egy pull requestet.

  1. Nyissa meg a Pull requestek elemet az oldalsávon
  2. Válasszon ki egy PR-t a listából

Egy PR nem egyetlen oldalként, hanem fülezett munkapadként nyílik meg. Alapértelmezés szerint öt fül nyílik meg, ebben a sorrendben: Áttekintés, Diff, Verziókezelés, Csevegés és Műveletek (a munkafolyamat szerint csoportosított CI-ellenőrzések). Az Átnézés — az átnézési pipeline előrehaladása, majd az általa közzétett, megállapítások sávjával ellátott artefaktum — szándékosan nem tartozik közéjük: egy PR-nek nincs átnézése, amíg valaki nem kér egyet, ezért azt a Kérdezze az AI-t nyitja meg. Igény szerint megnyílik egy terminál, egy egyfájlos szerkesztő, egy beágyazott code-server és egy alkalmazáson belüli böngésző; a telepítési előnézet fülei automatikusan bekerülnek, amikor a PR-en előnézeti URL-t észlelünk. A fülek elrendezését PR-enként jegyezzük meg.

Az Áttekintés fül hordozza a PR metaadatait (szerző, ág, címkék, hozzárendeltek, reakciók, commitok, ellenőrzési állapot) és a műveletsort: frissítés, Átnézés, Összefésülés, megnyitás IDE-ben és egy ⋯ túlcsordulásmenü.

Nyissa meg a Diff fület, hogy a teljes PR-diffet egyszerre lássa, fájlfával a fájlok közötti ugráshoz.

  • A diff eszköztárában lévő beállítások gomb osztott (egymás melletti) és egységes nézet között vált, valamint be- és kikapcsolja a sortördelést és a kódbetű-ligatúrákat.
  • A @@ hunk-fejléceket a Show N lines / Show end of file elemek váltják fel, amelyek kattintásra beszúrják a környező kontextust.
  • Nyomja meg a j / k billentyűt a fájlok közötti lépkedéshez, a c billentyűt a kijelölt fájl összecsukásához vagy kinyitásához, a t billentyűt, hogy az oldalsáv visszatérjen a fájlfához, és a ⌘F billentyűt a teljes diffben való kereséshez (Enter / Shift+Enter lépked a találatok között).
  • Nyomja meg a v billentyűt a kijelölt fájl megtekintettként jelöléséhez, és a kurzor a következő fájlra lép. A GitHubon a megtekintett állapotot a forge tárolja, így követi Önt a kliensek között; a GitLabon és a Bitbucketon nincs ilyen API, ezért ott csak ezen az eszközön marad meg.

A kódterületen az egérrel történő húzás a pontos oszlopig jelöli ki a szöveget, a ⌘C pedig a nyers forrást másolja a megjelenített diff-jelölők helyett.

  1. Koppintson egy kódsor margójára, hogy megnyisson egy ahhoz a sorhoz horgonyzott szerkesztőt, vagy használja egy fájl fejlécén a + gombot fájlszintű megjegyzéshez
  2. Írja meg a visszajelzését Markdownban
  3. Küldje be

A GitHubon és a GitLabon a szerkesztő két beküldési lehetőséget kínál: az Egyetlen megjegyzés hozzáadása azonnal közzétesz, az Átnézés indítása / Hozzáadás az átnézéshez pedig egy függőben lévő átnézéshez sorolja a megjegyzést, amely a Jóváhagyás, a Módosítás kérése vagy a Megjegyzés hatására megy ki. A Bitbucket nem csoportosít függőben lévő átnézéseket, így ott minden beküldés azonnal közzétesz. Az azonnali közzététel függőben lévő állapotot mutat, amíg a forge meg nem erősíti, majd szinkronizáltra vált. Ha a közzététel meghiúsul, a szálat hibajelöléssel látja el, és felajánl egy újrapróbálást.

Csak az átnézés törzse piszkozat: a gépelés abbahagyása után egy pillanattal a szerver oldalán, az (owner, repo, PR number) azonosítóhoz mentjük, így túléli az újratöltést, és követi Önt az asztali és a webes kliens között.

  1. Nyomja meg az Átnézés gombot az Áttekintés műveletsorában (a saját PR-jein, valamint lezárt vagy összefésült PR esetén nem látható)
  2. Írja meg az átnézés törzsét. Csatolhat képet, beszúrhat emojit vagy GIF-et, és válthat az írás és az előnézet között
  3. Nyomja meg a Módosítás kérése, a Megjegyzés vagy a Jóváhagyás gombot

Az ítélet maga a gomb — nincs külön ítéletválasztó. A Jóváhagyás vagy a Módosítás kérése után a gomb átcímkézi magát Jóváhagyva vagy Kért módosítások feliratra, és a piszkozat törzse törlődik. A Megjegyzés ítélet után a gomb felirata Átnézés marad.

Az Összefésülés gomb akkor jelenik meg, ha írási jogosultsággal rendelkezik, a PR pedig nyitott és nem piszkozat. A színe a szükséges jóváhagyásokból és az ellenőrzések állapotából származtatott készültségi jelzés (kész / függőben / blokkolva) — ez csak tájékoztató jellegű. A gombot soha nem tiltja le az átnézés állapota; a szabályokat a forge saját ágvédelme érvényesíti.

  1. Nyomja meg az Összefésülés gombot az összefésülési panel megnyitásához
  2. Válasszon összefésülési módot: squash, merge commit vagy rebase (az alapértelmezett a squash). A Bitbucketnek nincs valódi rebase-alapú összefésülése, ezért a rebase a fast-forward stratégiájára képződik le, és eltérő ág esetén meghiúsul
  3. Squash és merge commit esetén szerkessze az előre kitöltött commit címet és leírást. A rebase egyiket sem veszi át, és mindkét mezőt elrejti
  4. Olvassa el a figyelmeztetések panelt — megnevezi a sikertelen ellenőrzéseket és a függőben lévő átnézéseket, de nem tartja fel
  5. A panelen nyomja meg az összefésülés gombját a megerősítéshez

Az összefésülés visszafordíthatatlan: commitokat tol fel a forge-ra, ezért visszavonási bejegyzés helyett megerősítési lépést kap. Utána a PR gyorsítótára érvénytelenné válik, az állapota Összefésülve értékre vált, és egy PullRequestStatusChanged esemény indul a merged állapottal. Ez az esemény elengedi az efemer „szerkesztőben megnyitás” worktree-t, és elindít két alapból létrehozott pipeline-t: a Stale repository cleanup, amely eltávolítja a PR elavult worktree-jeit és beszélgetésmappáit, valamint a Release notes, amely megírja egy changelog-bejegyzés tervezetét.

A ⋯ túlcsordulásmenü az Áttekintés fülön tartalmazza a Kérdezze az AI-t elemet, amely elindítja ehhez a PR-hez az alapból létrehozott pr_review pipeline-t. Csak addig jelenik meg, amíg a PR nyitva van. Hogy mit tesz a pipeline, és hogyan teheti közzé a megállapításait, lásd: MI-alapú átnézés; a determinisztikus kohorsz- és tengelymodellről pedig lásd: Átnézési számítás.

A Control Center azokat a PR-eket is importálja, amelyeket az alkalmazáson kívül, emberek nyitottak meg. A fenti átnézési folyamat ugyanaz. A külső PR-eket a PR-lekérdező szolgáltatás észleli.