A GitHub-folyamat összetevői

Befejeződött

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"

Képernyőkép a GitHub fő ágra véglegesítési listájáról.

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.

Képernyőkép egy lekéréses kérelemről és egy megjegyzésről a lekéréses kérelemben.

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

Képernyőkép a GitHub-folyamat vizualizációs ábrázolásáról lineáris formátumban, amely egy új ágat, véglegesítést, lekéréses kérést és a módosítások fő sorrendbe való visszaegyesítését tartalmazza.

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.

  1. 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.
  2. 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.
  3. Most nyisson meg egy lekéréses kérelmet, hogy visszajelzést kérjen, és megkezdje a felülvizsgálatot.
  4. Ezután tekintse át a megjegyzéseket, és végezze el a szükséges frissítéseket a csapat visszajelzése alapján.
  5. 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.
  6. Ezután törölje az ágat, hogy tisztán tartsa az adattárat, és ne használjon elavult ágakat.

Git flow

A Git flow munkafolyamatát bemutató ábra párhuzamos sávokkal a funkcióágakhoz, a fejlesztéshez, a kiadási ágakhoz, a gyorsjavításokhoz és a főághoz. Bemutatja, hogyan egyesülnek a funkciók a fejlesztési ággal, hogyan jönnek létre a kiadási ágak a fejlesztésből, a gyorsjavítások hogyan ágaznak el a főágról, és végül hogyan kerülnek vissza minden változtatás a főágba és a fejlesztési ágba címkézett verziókkal.

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

  1. A fejlesztők szolgáltatáságakatdevelop hoznak létre az új funkciók létrehozásához.
  2. 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.
  3. 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.
  4. 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.
  5. Ugyanazt a kiadási ágat vissza kell egyesíteni develop-be, hogy továbbra is szinkronban maradjon.
  6. Kritikus éles hiba esetén egy hotfix ágat hozunk létre master-ből. Miután kijavítottuk, beolvasztjuk mind a master-be, mind a develop-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.