Egymásra épülő munkamenetekkel könnyíti a kódfrissítést a GitHub Copilot

A GitHub Copilot app már egymásra épülő munkamenetek és pull requestek létrehozását is támogatja. A GitHub egyik szerzője egy régi, React 15-re épülő személyes alkalmazás modernizálásán mutatta be, hogyan segít ez a munkafolyamatok szétválasztásában.
- A GitHub Copilot app egymásra épülő munkameneteket támogat.
- A stacked pull requestek rendezett, egymásra épülő pull requestekből állnak.
- Az új munkamenet átveheti az előző munkamenet kontextusát és változtatásait.
- A funkciót egy React 15-re épülő régi alkalmazás modernizálásán mutatták be.
Régi React-kód modernizálása AI segítségével
A GitHub július 30-án bemutatott blogbejegyzése egy több mint tíz éve fejlesztett személyes alkalmazás példáján keresztül ismerteti az új működést. Az alkalmazás naptárakat, az otthoni okoseszközöket és feladatkezelést fog össze, de a függőségei idővel elavultak. A projekt React 15-öt, Less-t és egy régi react-bootstrap-verziót használt.
A szerző a GitHub Copilot app segítségével próbálta korszerűsíteni a frontend kódját. A Plan módban először a stílusok rendbetételére, az akadálymentesítésre és a reszponzív megjelenítésre kért tervet. Felmerült a Tailwind vagy a natív CSS használata, a Less eltávolítása, a függőségek frissítése, valamint a React-funkciók fokozatos átszervezése.
A tervezésben Claude Opus 4.8 vett részt, a szerző pedig GPT-5.5 segítségével is ellenőriztette az elképzeléseket. Az első próbálkozás nem járt sikerrel, részben azért, mert a projekt korábbi, dev ágán már léteztek olyan módosítások, amelyekről a szerző megfeledkezett.
Új munkamenet, új ág és külön pull request
A GitHub Copilot app ebben a helyzetben lehetővé tette, hogy a folyamatot egy új munkamenetben folytassák. Az eszköz lezárta a korábbi, sikertelenül megkísérelt pull requestet, majd a stílusra vonatkozó döntéseket átvezette a dev ágra készülő módosításokba.
A tesztelés során régi, a findDOMNode és a componentWillReceiveProps függvényekhez kapcsolódó figyelmeztetések jelentek meg. A szerző ezután azt vizsgáltatta meg a Copilottal, hogy érdemes-e teljesen eltávolítani a react-bootstrap könyvtárat, vagy elegendő frissíteni és átállítani a meglévő komponenseket. A javasolt terv a könyvtár teljes lecserélése lett.
Mivel ez már külön feladatnak számított, a szerző nem akarta az összes változtatást egyetlen, túl nagy pull requestbe zsúfolni. A Copilotnak azt kérte, hogy az addigi munkából készítsen pull requestet, majd indítson egy új munkamenetet a react-bootstrap lecserélésére, amely az előző munkára épül, és külön pull requestként kerül a dev ágba.
Mit jelent a stacked session és a stacked pull request?
A GitHub Copilot app a kérés alapján létrehozta az addigi módosítások pull requestjét, majd egy úgynevezett stacked sessiont indított a react-bootstrap eltávolítására. Az új munkamenet átvette az előző kontextusát, tervet készített, jóváhagyást kért, majd végrehajtotta a feladatot. Ezzel párhuzamosan létrejött a következő, az előző munkára épülő pull request is.
A GitHub meghatározása szerint a stacked pull requestek ugyanabban a tárolóban létrehozott, egymásra épülő pull requestek sorozatai. Minden pull request az alatta található pull request ágát célozza, így rendezett lánc alakul ki, amely végül a fő ágba érkezik. Ebben a példában a munkamenetek és az általuk létrehozott változtatások is egymás után épültek fel.
A GitHub bejegyzése szerint a megoldás a nagyobb kódmodernizálási feladatok felbontását segíti. A fejlesztő külön kezelheti az első munkát és az abból következő könyvtárcserét, miközben a második feladat továbbra is hozzáfér az előző munkamenet eredményeihez. A GitHub azt írja, hogy pull request stackek bárhol használhatók, ahol a fejlesztő GitHubon commitol kódot, a stacked sessionök pedig a GitHub Copilot appban érhetők el.


