A GitLab egyesítési kérelmei lehetővé teszik a kód áttekintését, mielőtt az belépne a projekt fő ágába. Az egyesítési kérelem (MR) egy burkoló a git merge
a GitLab webes felhasználói felületén elérhető művelet. Miután áttekintette a kódot, egyetlen kattintással kezdeményezheti az egyesítést. Az MR által vezérelt munkafolyamat elfogadása segít garantálni a kódminőséget azzal, hogy elvárja, hogy az összes elkötelezettséget alaposan felülvizsgálják.
Az egyesítési kérelmek a GitLab élmény egyik alapeleme. Kombinálják a projektmenedzsment, az adattár és a CI / CD rendszereket egyetlen oldalra a kódalap minden egyes változásához. Ebben a cikkben a nyílt forráskódú GitLab CE-t használjuk. A kereskedelmi szintek további funkciókhoz férnek hozzá.
Egyesítési kérelem létrehozása
Létrehozhat egy új MR-t a GitLab-on belül, ha az oldalsávon a Repository> Branches elemre navigál. Győződjön meg arról, hogy a helyi fiókváltoztatásokat a GitLab-ra tolta. Keresse meg az egyesíteni kívánt fiókot, és kattintson a neve jobb oldalán található „Kérés egyesítése” gombra.
Az űrlap segítségével adja meg az egyesítési kérelem tulajdonságait. Kezdje azzal, hogy megnevezi új MR-jét. Ezután adjon hozzá egy leírást. A leírások szabványai szervezetenként és projektenként változnak. Általánosságban meg kell jegyeznie az Ön által végrehajtott fontos változásokat, valamint a mögöttük rejlő okokat.
Az oldal alján talál vezérlőket az MR megbízottjának, bírálójának, mérföldkőjének és címkéinek beállításához. Ezeket az egyesítési kérelem részleteinek oldalán a jobb oldali sáv segítségével bármikor módosíthatjuk. A későbbiekben részletesebben kitérünk rájuk.
Az első felülvizsgálatot elvégezheti az MR benyújtása nélkül. A „Kötelezettségvállalások” és a „Változtatások” fülekkel ellenőrizheti, hogy a megfelelő kódot adta-e meg. Ha készen áll, nyomja meg a zöld „Összevonási kérelem benyújtása” gombot az MR megnyitásához. A projekt összes MR-jét megtekintheti az oldalsáv „Összevonási kérelmek” linkjével.
Egyesítési kérelmek létrehozása a terminálról
MR-ek létrehozása a GitLab felhasználói felületen keresztül arra ösztönzi Önt, hogy pontosan címkézze meg az MR-t címkékkel, mérföldkövekkel és leíró szöveggel. Mindazonáltal ez egy fáradságos folyamat, amely jelentős időt igényel a nap folyamán. A GitLab támogatja a Git push opciókat, amelyek lehetővé teszik egy ág leállítását és egy MR létrehozását.
git push -u origin HEAD -o merge_request.create -o merge_request.target=master
Használata git push
a fenti opciókkal az aktuális ágat a Git távvezérlőjéhez tolja. A távoli fiók újból létrejön, ugyanazzal a névvel, mint a helyi fiók, ha még nem létezik. A két -o
az opciókat a GitLab dolgozza fel. Ennek eredményeként új MR-t nyitnak meg, amelybe beolvasztják a fiókot master
.
A GitLab automatikusan feltölti az MR címét és leírását a legutóbbi elkötelezettségéből származó információk felhasználásával. Ezenkívül hivatkozhat egy GitLab problémára az elkötelezettség üzenetében – pl Fixes #123
– a GitLab automatikusan alkalmazza címkéit és mérföldköveit az MR-re.
Összevonási kérelmek áttekintése
Egy kód sem teljes, amíg nem ellenőriztük. Könnyedén megkérheted a csoportod más tagjait, hogy adják át az egyszeri elkövetéseidet. A jobb oldali sáv segítségével jelölhet ki egy vagy több ellenőrt. Értesítést kapunk a kérésedről.
Az MR-t másik felhasználóhoz is rendelheti. Ez azt jelezheti, hogy a változtatásokkal való kompatibilitás növelése érdekében frissíteniük kell a felelősségi körüket. Nincsenek szigorú szabályok arra vonatkozóan, hogyan kell használni ezeket a szolgáltatásokat.
Amikor feladatot kap egy MR áttekintésére, váltson a képernyő tetején található „Commits” és a „Changes” fülekre. Az előbbi felsorolja az ágad összes új elkötelezettségét, míg az utóbbi bemutatja a kódbázisra alkalmazandó fájl diffeket.
A Változások képernyő elrendezését a jobb felső sarokban található beállítótár segítségével állíthatja be. Választhat Inline és Side-by-Side diff. Között, utóbbiak megosztott nézetben jelenítik meg a fájlok „régi” és „új” verzióit. A „Fájlok megjelenítése egyszerre” opció engedélyezésével segíthet magának összpontosítani és javíthatja a képernyő teljesítményét.
Változások a kódban
Minden erőfeszítés ellenére néha átnézi az MR-t, és felfedez egy olyan problémát, amelyet korábban nem észlelt. Nem kell egyenesen visszamenni a kódszerkesztőhöz. A Változások képernyőn rendelkezésre állnak rendelkezések, amelyek segítenek a hibák kijavításában.
Egyszerű egysoros javításokhoz vigye az egérmutatót a kérdéses vonal fölé. Kattintson a sor bal oldalán megjelenő megjegyzés ikonra. Megjelenik a megjegyzésszerkesztő, amely a GitLab szabványos Markdown szerkesztőjét tartalmazza. Használhatja ezt a lehetőséget az MR egyes sorainak megjegyzéséhez – üzenetei az „Áttekintés” fülön jelennek meg. Egy adott funkciót keresünk, azonban az eszköztár „Javaslat beszúrása” gombját.
Kattintson a gombra a kiválasztott sor beszúrásához a megjegyzésébe. A megjegyzésszerkesztővel szerkesztheti a sort annak megfelelővé kellene hasonló. Ezután kattintson a „Vélemény indítása” vagy a „Megjegyzés hozzáadása” gombra. Az előbbi lehetővé teszi több megjegyzés megtartását, hogy kötegként küldhesse be, miután befejezte a felülvizsgálatot.
Miután elmentette a megjegyzését, a gyanúsított sor alatt megjelenik egy „Javasolt változás” modul. Ez megjeleníti az alkalmazandó új diff. Kattintson a „Javaslat alkalmazása” gombra a módosítás azonnali hozzáadásához.
A Javaslatok használata drámai módon lerövidítheti a kisebb problémák kijavításának idejét, mivel nem kell elhagynia a böngészőt. Hosszabb szerkesztések esetén a Változások képernyőn bármely fájl melletti három pont ikonra kattintva megnyithatja azt a teljes GitLab Web IDE-ben.
Piszkozat (folyamatban lévő) egyesítési kérelmek
Néha meg kell adnia a kódot, mielőtt az összeolvadna. Ezeket az MR-eket megkülönböztetheti úgy, hogy a címüket a „Piszkozat” elé írja, vagy az eszköztár gombra kattint. Az MR-vázlatok csak akkor vonhatók össze, ha manuálisan visszavonja a piszkozat állapotát a jobb felső sarokban található „Megjelölés készként” gombra kattintva.
Ezt a funkciót korábban „Work-in-Progress” -nek hívták, a „WIP” cím előtaggal. Ezt a terminológiát most elvetették a „Draft” javára, amely a GitLab 14-ben az egyetlen támogatott változat.
Amint felveszi a vállalásokat az MR-ekbe, azok az MR oldal Áttekintés részében jelennek meg. Kattintson a „Összehasonlítás az előző verzióval” linkre, ha a változások különbségeit elkülönítve szeretné megtekinteni.
Ha a „Változások” fülre kattint, verzió kiválasztása nélkül, megjelenik a teljes MR különbsége a célághoz viszonyítva. Bármelyik változat különbségét megtekintheti az „Összehasonlítás [master] és [latest version]”Legördülő menü a Változások képernyő tetején.
A felülvizsgálat befejezése
Miután befejezte a felülvizsgálatot, itt az ideje, hogy egyesítse a kódot. Vissza kell vonnia az MR tervezet állapotát, ha be van állítva. A projekt beállításaitól függően előfordulhat, hogy a létrehozott megjegyzésszálakat is „fel kell oldania”.
Az MR egyesítésre kész állapotának jelzéséhez használja a kék „Jóváhagyás” gombot. Ez nem tesz semmit a GitLab-on belül, kivéve, ha jelzi a csapatának, hogy az MR elfogadásra került. Ezután folytathatja az MR egyesítését a zöld „Merge” gomb megnyomásával.
A „Forráság törlése” jelölőnégyzet segítségével szabályozhatja, hogy az ág törlésre kerül-e az egyesítés után. Ez segít fenntartani az ágak listáját, de a jövőben a kontextus elvesztéséhez vezethet. A „Squash elköveti” opcióval az MR összes elkötelezettségét egybe egyesítheti. Ez rendezettebb előzményeket hoz létre, de a jövőben megnehezíti az egyéni változások visszaállítását. Ezen opciók elérhetősége a projekten és a csoporton belül meghatározott beállításoktól függ.
Az egyesítési kérelmek jó struktúrát kínálnak a kód írásához és felülvizsgálatához. Ugyanakkor rendkívül rugalmasak és nyitottak az értelmezésre. Rajtad múlik, hogy mennyire fejleszti az egyesítési kérelem munkafolyamatát.
Ebben a cikkben csak azokat a funkciókat vizsgáltuk, amelyek közvetlenül kapcsolódnak a kódellenőrökhöz. Sokkal több információt láthat az egyesítési kérelmekben, ha kihasználja a GitLab egyéb szolgáltatásait. Az Áttekintés oldalon megjeleníthetők a CI-folyamat állapota, a tesztelési és kódminőségi jelentések, a biztonsági vizsgálat kimenetei és az átmeneti környezeti hivatkozások, amelyek mind az MR-oldalt teszik az első célállomássá, amikor megértik, hogy a változás hogyan befolyásolja a projektet.