Hogyan kell használni a git összevonást

Dec 31, 2024
Programozás

A GIT ágakat használ a fejlesztési patakok izolálására, hogy megakadályozzák a stabil felszabadulási ág szennyeződését. Az ágba történő munka a főáramba történő behozatala az ágak egyesülését jelenti. Így csinálod.

Mi az egyesülés a GIT -ben?
Felkészülés egy ág egyesítésére a GIT -ben
Egyesülés végrehajtása
Gyors előrehaladás végrehajtása a GIT-ben
Hogyan lehet megoldani a konfliktusokat a GIT -ben
Minden végül összeolvad

Mi az egyesülés a GIT -ben?

A GIT -t úgy tervezték, hogy az elágazás egyszerű és gyors legyen. Más verzióvezérlő rendszerekkel ellentétben a GIT elágazása triviális kérdés. Különösen a többfejlesztő projekteknél az elágazás a GIT egyik legfontosabb szervezeti eszköze.

Ágazatok homokozó új fejlesztési erőfeszítések, hogy a kód módosítható vagy hozzáadható anélkül, hogy befolyásolná a kódot más ágakban, különösen a fő vagy a fő ágban. Ez általában tartalmazza a kódbázis stabil verzióját.

E változások elkülönítése a stabil kód verziójától tökéletes értelme. De előbb vagy utóbb az új kódot teszteljük, felülvizsgálják és gumi bélyegzőt kell beilleszteni a fő ágba. Ezen a ponton egyesítenie kell az ágot a fő ágba.

Valójában az ágaknak altermékei lehetnek, így előfordulhat, hogy az ágot egy másik ágba egyesíti a fő ág helyett. Ne feledje, hogy az egyesülések mindig egy ágot vesznek, és egyesítik a cél ág, bármi is legyen az ág. Ha azt akarja, hogy egyesítse a mester ágát egy másik ágba, akkor ezt is megteheti.

Mint a legtöbb GIT -művelet, a helyi tárolóban az egyesítéseket is elvégzi, és a távoli tárolóba tolja.

Felkészülés egy ág egyesítésére a GIT -ben

Van egy kis fejlesztési projektünk egy helyi GIT -tárolóval és egy távoli GIT -tárolóval. Készítettünk egy „BugFix14” nevű ágot a „Master” ágból, és egy hiba megoldásán dolgoztunk.

Ez a munka befejeződött, és teszteltük a kódunkat. Mindez a várt módon működik. Szeretnénk ezeket a változásokat a fő ágba gördíteni, hogy a javítás a szoftver következő kiadásának része legyen.

Van egy kis előkészítés, mielőtt elvégezzük az egyesülést. Gondoskodnunk kell arról, hogy a célág - ebben az esetben a „mester” ág - és az ág, amelyet beleolvunk, mindkettő naprakész.

  • A BugFix14 ágon : Ez a jelenlegi águnk.
  • Az Ön fióktelepe naprakész az 'Origin/Bugfix' -en : A helyi adattárban található ág ugyanolyan elkötelezettségi előzményekkel rendelkezik, mint a távoli lerakat ága. Ez azt jelenti, hogy azonosak.
  • Semmi elkötelezettség Nincs olyan változás, amelyet nem követtek el.
  • dolgozó fa tiszta : A munkakönyvtárban nincsenek be nem állított változások.

Mindezek azt jelzik, hogy az ág naprakész, és egyértelműen vagyunk, hogy folytatjuk. Ha ezek közül bármelyik jelezte, hogy változások léteznek, akkor meg kell szednünk őket, elkötelezni őket és a távvezérlőre kell tennünk. Ha valaki más dolgozott ezeken a fájlokon, akkor előfordulhat, hogy a távoli tárolóból meg kell húznunk a változásokat.

Az ágazat ellenőrzése, amelyet egyesíteni fogunk, egyszerűsíti az egyesülési folyamatot. Ez lehetővé teszi számunkra, hogy ellenőrizzük, hogy naprakész -e. Vessen egy pillantást a Master ágra.

Ugyanazokat a megerősítéseket kapjuk, mint a „Master” ág naprakész.

ÖSSZEFÜGGŐ: Hogyan válasszuk ki a GIT munkafolyamatot & amp; Elágazó modell, amely megfelelő a csapatod számára

Egyesülés végrehajtása

A „BugFIX14” ágot a „Master” ágból elágazták. A „BugFix14” ág létrehozása után elkötelezettség történt a „mester” ág mellett. Volt néhány elkötelezettség a „BugFix14” ág mellett.

Gondoskodtunk arról, hogy két águnk naprakész legyen, és megnéztük a „mester” ágot. Kiadhatjuk a „BugFix14” ág egyesítésére szolgáló parancsot a „Master” ágba.

Az egyesülés megtörténik. A „BugFix14” ág még mindig létezik, de most az ágban végrehajtott változások egyesültek a „mester” ágba.

Ebben az esetben a Merge parancs a háromirányú egyesítés - Csak két ág van, de három kötelezettségvállalás van benne. Mindkét ág vezetője, és egy harmadik kötelezettségvállalás, amely maga az egyesülési műveletet képviseli.

A távoli adattár frissítéséhez használhatjuk a git tolás parancs.

Vannak, akik inkább az oldali ágak törlését törekszenek, miután egyesítették őket. Mások gondoskodnak arról, hogy megőrizzék őket a projekt valódi fejlesztési történetének nyilvántartásaként.

Ha törölni akarja az ágot, akkor ezt megteheti a git ág parancs a -D (Törlés) opció.

Nak nek Törölje az ágot A távoli tárolóban használja ezt a parancsot:

Lineáris elkötelezettséged lesz, de ez nem lesz az igazi történelem.

ÖSSZEFÜGGŐ: Hogyan lehet törölni a GIT ágakat a helyi és távoli tárolókon

Gyors előrehaladás végrehajtása a GIT-ben

Ha még nem vállalt vállalást a „mester” ág mellett, akkor a történelem így fog kinézni. Ezt is megjelenik, ha van újjáépített A fejlesztési ága úgy van beállítva, hogy az a „mester” ág végéhez van csatolva.

Mivel a „Master” ágban nincs kötelezettségvállalás, a „BugFix15” ág egyesítésére, csak annyit kell tennie, hogy a „Master” fejmutatót a „BugFIX15” ág utolsó kötelezettségvállalására mutatja.

A GIT gyors előrehaladást fog végrehajtani Amikor csak lehet - Ha a „Master” ág iránti elkötelezettség azt jelenti, hogy a gyors előrehaladás nem lehetséges, a GIT a háromirányú egyesítés -

Nem tudod Kényszerítés A gyors előrehaladás-elvégre nem lehetséges-, de kijelentheti, hogy ez gyorsan áthalad, vagy semmi. Van egy lehetőség, amely arra utasítja a GIT-t, hogy gyors előrehaladást használjon, ha csak tud, de nem végez háromirányú egyesítést, ha nem tudja. A lehetőség az -Csak (Csak a gyors összevonás csak).

Ez egyesíti a „BugFix15” ágot a „Master” ágba, de csak akkor, ha lehetséges egy gyors egyesítés.

Ebben az esetben elkötelezettek voltak a „mester” ág mellett, így a gyors előrehaladás nem lehetséges.

Hogyan lehet megoldani a konfliktusokat a GIT -ben

Ha ugyanazon fájl ugyanazok részei megváltoztak mindkét ágban, akkor az ágak nem egyesülhetők. Emberi interakcióra van szükség az ütköző szerkesztések megoldásához.

Itt végeztünk változtatásokat egy „rot.c” nevű fájlba egy „BugFix17” nevű ágban, amelyet össze akarunk egyesülni a „Master” ágba. De a „rot.c” megváltozott a „mester” ágban is.

Amikor megpróbáljuk egyesíteni, figyelmeztetést kapunk, hogy vannak konfliktusok. A GIT felsorolja az ütköző fájlokat, és azt mondja nekünk, hogy az egyesülés sikertelen. Teljesen visszatérhetünk a --elvetél választási lehetőség:

De az egyesülések feloldása nem olyan félelmetes, mint amilyennek hangzik. Git némi munkát végzett, hogy segítsen nekünk. Ha szerkesztjük az egyik ellentmondásos fájlt - az esetünkben, akkor csak együnk van -, megtaláljuk a számunkra kiemelkedő konfliktusos kódrészeket.

Minden konfliktust hét kevésbé karakter határol meg & lt; & lt; & lt; & lt; & lt; ”És hét nagyobb karakter” & gt; & gt; & gt; & gt; & gt; ", Hét egyenlő jelzéssel" ======= " közöttük.

  • Az egyenlő jelek feletti kód az Ön egyesülésének ágából származik -ba -
  • Az Equals Sign alatti kód az ágból származó kód, amelyet megpróbál összeolvad -

Könnyedén megkeresheti a hét karakter egyik készletét, és a konfliktusokról a konfliktusra mozoghat a fájlon keresztül. Minden konfliktus esetén ki kell választania, hogy melyik szerkesztést fog tartani. Szerkesztenie kell az elutasított kódot, valamint a hét karakteres vonalakat, amelyeket a GIT hozzáadott.

Meg fogjuk őrizni a kódot a „BugFix17” ágból. A szerkesztés után a fájlunk így néz ki.

Most folytathatjuk az egyesülést. De vegye figyelembe, hogy a elkövetni parancs erre, nem a összeolvad parancs.

A változást úgy követjük el, hogy a fájlt rendezzük, és a szokásos módon elkötelezzük. Mielőtt elvégezzük a végső kötelezettségvállalást, ellenőrizzük az állapotot.

Az egyesülés teljes. Ezt most továbbadhatjuk a távoli tárolónkba.

ÖSSZEFÜGGŐ: Hogyan lehet javítani, szerkeszteni vagy visszavonni a GIT elkötelezettségét (a GIT története megváltoztatása)

Minden végül összeolvad

Minden ágot végül össze kell egyesíteni, hogy a változások ne váljanak árvákba és elfelejtsék.

Az ágak egyesülése egyszerű, de a konfliktusokkal való kezelése bonyolulttá válhat a forgalmas, nagyobb csapatokban. A konfliktusok megoldásának megkövetelhet minden fejlesztőtől, hogy elmagyarázzák, mit csinálnak a kódjuk, és miért hajtották végre a változtatásokat. Meg kell értenie ezt, mielőtt megalapozott döntést hozhat arról, hogy mely szerkesztést tartsa.

  • Hogyan lehet átnevezni egy ágot a GIT -ben
  • Hogyan lehet egy távoli git ágot ellenőrizni
  • Hogyan lehet eltökni a változásokat a gitben
  • Hogyan válthatunk az ágakat a github -ban
  • Git rebase: mindent, amit tudnod kell
  • A OnePlus 11 itt van, de durva indulással
  • A Microsoft Edge AI csevegést és új megjelenést kap a Windows -on
  • Az iPhone rajongók számára a legjobb fülhallgató csak a legalacsonyabb árat érte el

Programozás - Most Popular Articles

Hogyan lehet átnevezni egy ágot a GIT -ben

Programozás Dec 19, 2024

Az elágazás triviális gyakorlat a GIT -ben. Sajnos a triviális feladatok ritkán kapnak megfelelő figyelmet, és hibák történnek. Ha tévesen nevezte el egy ágot, akkor azt át kell ne..


Kategóriák