A Git elágazás alapjai
A könnyen elágazó képesség a Git egyik legjobb tulajdonsága. Az ágak létrehozása más verziókezelő rendszerekben költséges lehet a hely és a feldolgozási követelmények szempontjából. A git elágazás hatékony. Tehát a felhasználók hajlamosabbak a fióktelepek használatára a Git-ben.
Elágazó munkafolyamat
Tegyük fel, hogy elindított egy új projektet myvideogame néven. Egyetlen ága van. A Git kezdeti ágának alapértelmezett nevét masternek hívják. Automatikusan létrejön. Hozzuk létre a myvideogame Git adattárat.
$ mkdir myvideogame$ cd myvideogame
$ git init
Létrehozott egy üres Git-tárat. Tegyük hozzá a tervünket.txt fájl, benne némi szöveggel.
$ echo "1. tervezési döntés: Képek hozzáadása" >> tervezés.txt$ echo "2. tervezési döntés: Írási kód" >> tervezés.txt
$ git add -A
$ git kötelezettség -m "C0: Hozzáadott tervfájl"
Adhatunk még néhány módosítást:
$ echo "3. tervezési döntés: teszt játék" >> tervezés.txt$ git add -A
$ git kötelezettség -m "C1: Módosított tervfájl"
Ha megnézi az előzményeket, a következőket találja:
$ git log - online6a09bd6 C1: Módosított tervfájl
5f18d89 C0: Hozzáadott tervfájl
Ha ellenőrzi a Git állapotát és az összes létrehozott ágat (a git branch -a paranccsal), akkor a következőket látja:
$ git állapotFiókmesteren
nincs mit elkötelezni, tiszta a könyvtár
$ git ág -a
* mester
Jelenleg a következő helyzet áll fenn:
Két elkötelezettséget hajtott végre a fő ágban.
Tegyük fel, hogy hibákat talált a játék tesztelésében, de nem akarja megoldani a problémát a fő ágban, mert még nem akarja elrontani az eredeti tervezést. Így létrehozhat egy új ágat, hibajavításnak hívva:
$ git branch hibajavításMost, ha bejelöli az összes fiókot:
$ git ág -ahibajavítás
* mester
Most létrehozott egy új ágat, bugfix néven. A helyzet így képzelhető el:
A mesterág melletti csillag (*) azonban azt jelenti, hogy még mindig a mesterben vagy. Ha változtatásokat hajt végre, akkor is a master ágba kerül. A checkout paranccsal ágakat cserélhet:
$ git checkout hibajavításÁtállt a 'bugfix' ágra
Status vagy „branch -a” paranccsal ellenőrizheti, hogy melyik ágat használja:
$ git állapotAz ág hibajavításán
nincs mit elkötelezni, tiszta a könyvtár
$ git ág -a
* hibajavítás
fő-
Javítsuk ki a hibát:
$ echo "Bug Fix 1" >> tervezés.txt$ git add -A
$ git kötelezettség -m "C2: Hiba javítva 1"
Ön egy ilyen helyzetet hozott létre:
A fő ág nem rendelkezik a C2 változással. Ezt könnyedén ellenőrizheti a két ág előzményeinek ellenőrzésével.
Először is, a hibajavító ág története:
$ git állapotAz ág hibajavításán
nincs mit elkötelezni, tiszta a könyvtár
$ git log - online
e8f615b C2: Hiba javítva 1
6a09bd6 C1: Módosított tervfájl
5f18d89 C0: Hozzáadott tervfájl
Ezután átválthat a főágra és ellenőrizheti annak történetét:
$ git checkout masterÁtállt a "master" fiókra
$ git állapot
Fiókmesteren
nincs mit elkötelezni, tiszta a könyvtár
$ git log - online
6a09bd6 C1: Módosított tervfájl
5f18d89 C0: Hozzáadott tervfájl
Láthatja, hogy a törzságban nincsenek változások a hibajavító ághoz képest.
Mindig létrehozhat új fiókot a jelenlegi fiókból, amelyben tartózkodik. Tegyük fel, hogy egy másik ágat szeretne létrehozni, amely kísérleti funkciókat tartalmaz. Az ágat létrehozhatja a masterből, és hozzáadhat kísérleti szolgáltatásokat:
$ git állapotFiókmesteren
nincs mit elkötelezni, tiszta a könyvtár
$ git ág kísérleti
$ git fizetés kísérleti
Átállt „kísérleti” ágra
$ git állapot
Ágon kísérleti
nincs mit elkötelezni, tiszta a könyvtár
$ echo "Kísérleti jellemzők hozzáadása" >> tervezés.txt
$ git add -A
$ git sitout -m "C3: Kísérleti funkciók hozzáadása"
[kísérleti 637bc20] C3: Kísérleti jellemzők hozzáadása
1 fájl megváltozott, 1 beszúrás (+)
Ha ellenőrzi kísérleti ágának előzményeit, a következőket fogja látni:
$ git állapotÁgon kísérleti
nincs mit elkötelezni, tiszta a könyvtár
$ git log - online
637bc20 C3: Kísérleti szolgáltatások
6a09bd6 C1: Módosított tervfájl
5f18d89 C0: Hozzáadott tervfájl
Észre fogja venni, hogy nem rendelkezik a C2-elkötelezettséggel, amelyet a bugfix ágban hoztak létre. Mivel a kísérleti ág a master ágból jön létre, nem látja a hibajavítás változásait. A következő helyzetben van:
Következtetés
Gratulálunk! Megtanultad az elágazást.
A git ágak egyszerűen és gyorsan elkészíthetők. Ez az egyik oka Git népszerűségének. Ha hozzáértő Git felhasználóvá akar válni, akkor jártasnak kell lennie a Git elágazásában.
A további vizsgálat:
https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branching-and-Merging