A GitHub-folyamat összetevői
Ebben a leckében a GitHub-folyamat alábbi összetevőit tekintjük át:
- Ágak
- Véglegesítések
- Lekéréses kérelmek
- A GitHub-folyamat
- Git flow
A GitHub Flow összetevői
Mielőtt megismerkednénk a GitHub-specifikus munkafolyamatokkal, érdemes tisztában lenni azzal, hogy a GitHub Flow közvetlenül a Git alapfogalmaira épül.
A Git eszközöket biztosít a kód változásainak nyomon követésére és kezelésére. A GitHub ezt úgy építi fel, hogy egyszerűbben használhatja ezeket az eszközöket olyan funkciókkal, mint az ágak, a véglegesítések, a lekéréses kérelmek és a vizuális felületek az együttműködéshez. Először nézzük meg, hogyan működnek ezek a fogalmak a GitHubon.
Mik azok az ágak?
Az utolsó szakaszban létrehoztunk egy új fájlt és egy új ágat az adattárban.
Az ágak a GitHub-élmény alapvető részét képezik. Lehetővé teszik a módosításokat az alapértelmezett ág befolyásolása nélkül.
Az ág biztonságos hely az új funkciókkal vagy javításokkal való kísérletezéshez. Ha hibát követ el, visszaállíthatja a módosításokat, vagy leküldhet további módosításokat a hiba kijavításához. A módosítások nem frissülnek az alapértelmezett ágon, amíg nem egyesíti az ágat.
Feljegyzés
Másik lehetőségként létrehozhat egy új ágat, és megnézheti a git használatával egy terminálban. A parancs a következő lenne: git checkout -b newBranchName
Mik azok a véglegesítések?
Az előző leckében egy véglegesítés leküldésével új fájlt adott hozzá az adattárhoz. Tekintsük át röviden a véglegesítéseket.
A véglegesítés egy ág egy vagy több fájljának módosítása. Minden véglegesítést egyedi azonosító, időbélyeg és közreműködő követ nyomon, függetlenül attól, hogy a parancssoron keresztül vagy közvetlenül a GitHub webes felületén történik. A véglegesítések egyértelmű naplózási útvonalat biztosítanak minden olyan felhasználó számára, aki áttekinti egy fájl vagy csatolt elem előzményeit, például problémát vagy lekéréses kérelmet.
Véglegesítést a Git használatával hozhat létre a terminálban a következőkkel:
git commit -m "Add a helpful commit message"
A git-adattárakban egy fájl több érvényes állapotban is létezhet, miközben végighalad a verziókövetési folyamaton. A Git-adattárakban lévő fájlok elsődleges állapotai nincsenek nyomon követve és nyomon követve.
Nincs nyomon követve: Egy fájl kezdeti állapota, ha még nem része a Git-adattárnak. A Git nem tud a létezéséről.
Nyomon követve: A követett fájl az, amelyet a Git aktívan figyel. Az alábbi alállapotok egyikében lehet:
- Módosítatlan: A fájl nyomon van követve, de az utolsó véglegesítés óta nem módosult.
- Módosítva: A fájl az utolsó véglegesítés óta módosult, de ezek a módosítások még nincsenek megadva a következő véglegesítéshez.
- Szakaszos: A fájl módosult, és a módosítások hozzá lettek adva az előkészítési területhez (más néven indexhez). Ezek a módosítások készen állnak a véglegesített állapotra.
- Véglegesített: A fájl az adattár adatbázisában található. Ez a fájl legújabb véglegesített verzióját jelöli.
Ezek az állapotok segítenek a csapatnak megérteni az egyes fájlok állapotát és a verziókövetési folyamat helyét.
Mik a lekéréses kérelmek?
A lekéréses kérelmek segítségével jelezhető, hogy az egyik ág véglegesítései egyesíthetők egy másik ágba.
A lekéréses kérelmet beküldő csapattag megkér egy vagy több véleményezőt, hogy ellenőrizze a kódot, és hagyja jóvá az egyesítést. Ezek a felülvizsgálók lehetőséget kapnak rá, hogy megjegyzéseket fűzzenek a módosításokhoz, saját módosításokat hajtsanak végre, illetve a lekéréses kérelem segítségével további megbeszélést folytathatnak.
A GitHub a Piszkozat lekéréses kérelmeket is támogatja, amely lehetővé teszi, hogy olyan lekéréses kérelmet nyiss meg, ami még nincs kész áttekintésre.
A módosítások jóváhagyása után (ha szükséges) a lekéréses kérelem forrásága (az összehasonlítási ág) egyesül az alapágban.
Most, hogy megismerte az ágak, a véglegesítések és a lekéréses kérelmek működését, tekintsük át, hogyan működnek együtt a GitHub Flow-ban.
A GitHub-folyamat
A GitHub-folyamat egy egyszerű munkafolyamat, amely segít a módosítások biztonságos végrehajtásában és megosztásában. Nagyszerű lehetőséget nyújt az ötletek kipróbálására és a csapatoddal való együttműködésre ágak, lekéréses kérelmek és egyesítések használatával.
Feljegyzés
A GitHub-folyamat a népszerű munkafolyamatok egyike. Ilyen például a Git flow és a törzs alapú fejlesztés.
Most, hogy megismertük a GitHub alapjait, végigvezethetjük a GitHub-folyamatot és annak összetevőit.
- Először hozzon létre egy ágat, hogy a módosítások, funkciók vagy javítások ne befolyásolják a fő ágat.
- Ezután végezze el a frissítéseket az ágban. Ha a munkafolyamat támogatja, az egyesítés előtt telepítheti a módosításokat ezen az ágon, hogy tesztelhesse őket.
- Most nyisson meg egy lekéréses kérelmet, hogy visszajelzést kérjen, és megkezdje a felülvizsgálatot.
- Ezután tekintse át a megjegyzéseket, és végezze el a szükséges frissítéseket a csapat visszajelzése alapján.
- Végül, ha biztos a módosításokban, kérje le a jóváhagyást, és egyesítse a lekéréses kérelmet a főágban.
- Ezután törölje az ágat, hogy tisztán tartsa az adattárat, és ne használjon elavult ágakat.
Git flow
Bár a GitHub Flow egy egyszerű munkafolyamat, amelyet folyamatos teljesítésre terveztek, a Git Flow egy strukturáltabb elágazási modell, amelyet gyakran használnak kiadásalapú környezetekben. A Git flow régebb óta létezik, mint a GitHub Flow, és előfordulhat, hogy továbbra is azt a kifejezést használják master, mint alapértelmezett ágat a main helyett.
Git-folyamat ágtípusai
A Git flow számos hosszú élettartamú és ideiglenes ágat használ:
- master: Mindig a kódot tükrözi, amely éles üzemre kész.
- fejlesztés: Tartalmazza a legújabb fejlesztési munkálatokat a következő kiadáshoz.
-
funkció/*: Új funkciók létrehozására szolgál; kiágazik a
developágból, majd befejezés után visszaolvad. -
release/*: Előkészít egy új éles kiadást;
developlehetővé teszi a végső tesztelést és az apró hibajavításokat. -
gyorsjavítás/*: Az éles problémák gyors javítása; elágazik
master-ből.
A Git-folyamat működése
- A fejlesztők szolgáltatáságakat
develophoznak létre az új funkciók létrehozásához. - Amikor elérkezik a kiadás ideje, egy kiadási ág jön létre
develop-ből. Ez elkülöníti a kiadás-előkészítési munkát, így a fejlesztés zavartalanul folytatódhat. - A hibajavítások hozzáadhatók a kiadási ághoz, de a főbb funkcióknak várniuk kell a jövőbeli kiadásra.
- Miután elkészült, a kiadási ág be lesz egyesítve
master-be, és címkézve lesz egy verziószámmal. A GitHub ezeket a címkéket használhatja a kibocsátási megjegyzések létrehozásához. - Ugyanazt a kiadási ágat vissza kell egyesíteni
develop-be, hogy továbbra is szinkronban maradjon. - Kritikus éles hiba esetén egy hotfix ágat hozunk létre
master-ből. Miután kijavítottuk, beolvasztjuk mind amaster-be, mind adevelop-be.
Mikor érdemes használni a Git-folyamatot?
- Az ütemezett vagy verziószámozott kiadásokkal rendelkező projektekhez ideális
- Hasznos, ha több éles verziót (például hosszú távú támogatási ágakat) tart fenn
- Ideális lassabb, strukturáltabb fejlesztési ciklusokhoz (például vállalati vagy szabályozott környezetekhez)
- A GitHub Flow-nál "nehézsúlyúnak" számít a további ágkezelés miatt
Feljegyzés
A Git-flow feltételezi az összevonási commitokat az ágak integrálásakor. Az rebase vagy squash merge használata megzavarhatja az ágszerkezetet és az előzmények nyomon követését.
A GitHubot használó számos csapat számára a GitHub Flow egyszerűbb és gyorsabb. Ha azonban a csapat értékeli a kiszámíthatóságot, és több kiadástervezésre van szüksége, a Git-folyamat jobb választás lehet.
Gratulálok! Most végigjárta a teljes GitHub Flow-t, és megvizsgálta, hogy a Git Flow hogyan kínál strukturált alternatívát a kiadásalapú projektekhez.
Térjünk át a következő szakaszra, ahol bemutatjuk a problémák és a viták közötti különbségeket.