A Git egyesítésének és az ágak törlésének alapjai

Basics Git Merging



Az elágazás segít rendszerezni a munkáját. A munka koherenciája érdekében azonban képesnek kell lennie egyesíteni a munkáját. Ha soha nem egyesíti és nem törli az ágakat, akkor története túl kaotikus lehet ahhoz, hogy megértsék.

Munka az egyesítéssel és az ág törlésével

Először hozzunk létre egy főágat, tegyünk néhány kötelezettségvállalást, hozzunk létre egy új ágat, amelyet úgynevezett feature -ként adunk hozzá, és adjunk hozzá néhány kötelezettségvállalást, majd térjünk vissza a masterhez és kövessük el újra. Íme a parancsok:







$mkdiraz én játékom
$CDaz én játékom
$git init
$kidobta „1. tervezési döntés: ötletgazda” >>design.txt
$git hozzá -NAK NEK
$git elkötelezni -m 'C0: Elindult projekt'
$kidobta „Tervezési döntés 2: kód írása” >>design.txt
$git hozzá -NAK NEK
$git elkötelezni -m „C1: Beküldött kód”
$git ágjellemzők
$git pénztárjellemzők
$kidobta '1. funkció hozzáadása' >>feature.txt
$git hozzá -NAK NEK
$git elkötelezni -m 'C2: 1. szolgáltatás'
$kidobta '2. funkció hozzáadása' >>feature.txt
$git hozzá -NAK NEK
$git elkötelezni -m 'C3: 2. szolgáltatás'
$git pénztárfő-
$kidobta 'A mester újra módosítása' >>design.txt
$git hozzá -NAK NEK
$git elkötelezni -m 'C4: Mester módosítva'

A fenti parancsok a következő helyzetet hozták létre:





Ellenőrizheti a két ág történetét, hogy megtudja, milyen kötelezettségeik vannak:





$git állapot
Ágmesterről
nincs mit elkötelezni, a könyvtár tiszta
$git napló --egy sor
2031b83 C4: Mester módosítva
1c0b64c C1: Elküldött kód

$git pénztárjellemzők
Átkapcsolt ágra'jellemzők'

$git napló --egy sor
93d220b C3: Funkció2
ad6ddb9 C2: Funkció1
1c0b64c C1: Elküldött kód
ec0fb48 C0: Elindított projekt

Tegyük fel, hogy a funkcióágazat összes módosítását a mesterágazatunkba kívánja vinni. A folyamatot az egyesítés céljától kell elkezdenie. Mivel be akarunk olvadni a mesterágba, onnan kell kezdeményeznie a folyamatot. Nézzük tehát a mesterágat:

$git pénztárfő-
Átkapcsolt ágra'fő'

$git állapot
Ágmesterről
nincs mit elkötelezni, a könyvtár tiszta

Most hozzuk létre az egyesítést:



$git egyesüljellemzők

Ha nincsenek ütközések az összevonásban, akkor megnyit egy szövegszerkesztőt a megjegyzésekkel:

Fiók egyesítése'jellemzők'

# Kérjük, írjon be egy véglegesítési üzenetet, hogy elmagyarázza, miért szükséges ez az egyesítés,
# különösen, ha egy frissített upstream -t egyesít egy témaágba.
#
# A '#' betűvel kezdődő sorokat figyelmen kívül hagyja, és az üres üzenet megszakad
# az elkötelezettség.

Módosíthatja a megjegyzéseket, vagy elfogadhatja az alapértelmezett megjegyzéseket. Az egyesítési kimenetnek a következő eredményeket kell mutatnia:

Egyesítés, amelyet a'rekurzív'stratégia.
feature.txt| 2++
1 fájltmegváltozott,2beillesztések(+)
létrehozási mód100644feature.txt

Az egyesítés után a következő feltételek állnak fenn:

Ha ellenőrzi a naplókat, a következőket találja:

$git állapot
Ágmesterről
nincs mit elkötelezni, a könyvtár tiszta

$git napló --egy sor
46539a3 C5: Fiók egyesítése'jellemzők'
2031b83 C4: Mester módosítva
93d220b C3: Funkció2
ad6ddb9 C2: Funkció1
1c0b64c C1: Elküldött kód
ec0fb48 C0: Elindított projekt

Sikeresen egyesítette a módosításokat. A szolgáltatáságazat azonban továbbra is jelen van.

$git ág -nak nek
jellemzők
*fő-

A következő paranccsal törölheti:

$git ág -djellemzők

Ha most ellenőrzi, csak a főágat láthatja:

$git ág -nak nek
*fő-

Következtetés

Győződjön meg róla, hogy rendszeresen ellenőrzi a nem használt ágakat, és törli azokat. Szeretné tisztán tartani a tárházat, hogy könnyebben navigáljon és megértse.

További irodalom: