Ebben a leckében a következőket tesszük:
- Hozzon létre egy távoli adattárat
- Hozzon létre egy helyi másolatot a távoli adattárból
- Hozzon létre két ágat a helyi példányban
- Tolja az egyik ágat a távoli adattárhoz
- Törölje a helyi fiókokat
- Távolítsa el a távoli ágakat
A leckének átfogó megértést kell adnia a fiók létrehozásának és törlésének folyamatáról, így jól tudja kezelni a szükséges lépéseket, amikor törölnie kell egy helyi vagy távoli fiókot.
Kezdjük el.
1. Távoli adattár létrehozása
Hozzunk létre egy projekt nevű mappát.git és inicializálja a távoli adattárnak:
$ mkdir projekt.git$ cd projekt.git
$ git init-csupasz
Inicializált üres Git adattár a / Users / zak / _work / LearnGIT / git_delete_branch / project könyvtárban.git /
2. A távoli adattár helyi másolatának létrehozása
Hozzunk létre egy új helyen egy távoli adattár project_local nevű helyi másolatát a clone paranccsal.
Megjegyzés: Ha a GitHub vagy a BitBucket szolgáltatással dolgozik, ugyanezt a folyamatot fogja követni a lerakat klónozásához. Ebben az esetben az itt használt teljes fájl elérési út helyett SSH-link lesz.
$ git klón / Felhasználók / zak / _work / LearnGIT / git_delete_branch / project.git project_localA "project_local" klónozás…
figyelmeztetés: Úgy tűnik, hogy klónoztál egy üres adattárat.
Kész.
3. Ágak létrehozása a helyi másolaton belül
Vegyünk először egy fájlt a helyi másolatba, majd toljuk a távoli adattárba:
$ cd project_local$ érintse meg a ReadMe gombot.txt
$ git add -A
$ git kötelezettség -m "A modul inicializálása"
[master (root-pühend) 81eb2a3] A modul inicializálása
1 fájl megváltozott, 0 beszúrás (+), 0 törlés (-)
létrehozási mód 100644 ReadMe.txt
$ git push origó mester
Tárgyak számlálása: 3, kész.
Objektumok írása: 100% (3/3), 221 bájt | 0 bájt / s, kész.
Összesen 3 (delta 0), újrafelhasználva 0 (delta 0)
To / Users / zak / _work / LearnGIT / git_delete_branch / project.git
* [új fiók] mester -> mester
A fenti parancsokban létrehoztunk egy ReadMe nevű fájlt.txt, hozzáadta a helyi példányhoz, hozzárendelte a helyi másolathoz, majd a változásokat a távoli adattárba vagy az origó főágába tette.
Ha ellenőrzi az ágakat, akkor a helyi fiókban a főág jelenik meg:
$ git ág* mester
Ha bejelöli a távoli ágakat, akkor ott látja a főágat is:
$ git ág -reredet / mester
Tipp: Az '-a' opcióval megtekintheti a helyi és a távoli adattárak összes fiókját.
$ git ág -a* mester
távirányítók / eredet / mester
Hozzunk létre két b1 és b2 elágazást a főágból:
$ git ág b1$ git ág b2
Ellenőrizzük, hogy létrejöttek-e az ágak:
$ git ágb1
b2
* mester
Most néhány módosítást fogunk végrehajtani az ágakon:
$ git pénztár b1„B1” ágra váltott
$ touch ág1.txt
$ git add -A
$ git kötelezettség -m "Ág1 módosítás"
[b1 a2f488e] Ág1 módosítása
1 fájl megváltozott, 0 beszúrás (+), 0 törlés (-)
létrehozási mód 100644 ág1.txt
$ git pénztár b2
„B2” ágra váltott
$ touch ág2.txt
$ git add -A
$ git sitout -m "Branch2 módosítás"
[b2 2abb723] Ág2 módosítása
1 fájl megváltozott, 0 beszúrás (+), 0 törlés (-)
létrehozási mód 100644 ág2.txt
Ellenőrizzük a helyi és távoli fiókállapotokat:
$ git ágb1
* b2
fő-
$ git ág -r
eredet / mester
Láthatjuk, hogy három elágazásunk van, a b1 és a b2. De a távoli adattárban csak a fő ág van.
4. Ágak kitolása a távoli adattárba
Toljuk a b1 ágat a távoli adattárba:
$ git push origó b1Objektumok számlálása: 2, kész.
Delta tömörítés akár 4 szál használatával.
Objektumok tömörítése: 100% (2/2), kész.
Objektumok írása: 100% (2/2), 249 bájt | 0 bájt / s, kész.
Összesen 2 (delta 0), újrafelhasználva 0 (delta 0)
To / Users / zakh / _work / LearnGIT / git_delete_branch / project.git
* [új ág] b1 -> b1
Ellenőrizheti a helyi és a távoli fiók állapotát:
$ git ágb1
* b2
fő-
$ git ág -r
eredet / b1
eredet / mester
A fenti elágazási állapotokból láthatjuk, hogy a b1 elágazás távolról is elérhető.
5. Ágak törlése helyben
Az ágakat helyileg törölheti a -d vagy -D opcióval.
git ág -dElőször nézzünk be a master ágba, így törölhetjük a b1 és a b2 ágakat.
$ git checkout masterÁtállt a "master" fiókra
Fióktelepe naprakész az „eredet / mester” névvel.
Próbálja ki először a -d opciót a b1 ág törléséhez:
$ git ág -d b1hiba: A 'b1' ág nincs teljesen egyesítve.
Ha biztos benne, hogy törölni szeretné, futtassa a 'git branch -D b1' fájlt.
A hiba azt jelzi, hogy egyesítenie kell a változásokat a b1 ágból. Ez biztosíték, így tévedésből nem veszíti el az ágakkal kapcsolatos munkáját. A -D opcióval kényszerítheti az egyesítés törlését. De ebben az esetben egyesítsük a b1 és b2 változásokat masterekké, és toljuk a távoli adattárba.
$ git egyesítés b1A 81eb2a3… a2f488e frissítése
Előrepörgetés
ág1.txt | 0
1 fájl megváltozott, 0 beszúrás (+), 0 törlés (-)
létrehozási mód 100644 ág1.txt
$ git egyesítés b2
Egyesítés a „rekurzív” stratégiával.
ág2.txt | 0
1 fájl megváltozott, 0 beszúrás (+), 0 törlés (-)
létrehozási mód 100644 ág2.txt
$ git push origó mester
Tárgyak számlálása: 4, kész.
Delta tömörítés akár 4 szál használatával.
Tárgyak tömörítése: 100% (4/4), kész.
Objektumok írása: 100% (4/4), 454 bájt | 0 bájt / s, kész.
Összesen 4 (delta 1), újrafelhasználva 0 (delta 0)
To / Users / zak / _work / LearnGIT / git_delete_branch / project.git
81eb2a3… 34db496 master -> master
Most próbálja meg újra törölni az ágakat:
$ git ágb1
b2
* mester
$ git ág -d b1
Törölt b1 ág (volt a2f488e).
$ git ág -d b2
Törölt b2 ág (2abb723 volt).
$ git ág
* mester
Helyesen törölte a b1 és b2 ágakat.
6. Távoli ágak törlése
A távoli elágazások ellenőrzésekor a b1 továbbra is látható:
$ git ág -reredet / b1
eredet / mester
A következő paranccsal törölheti a távoli fiókot:
git pushTehát törölheti a távoli b1 ágat a következőkkel:
$ git push origó - b1 törlésCímzett / Felhasználók / zakh_eecs / _work / LearnGIT / git_delete_branch / project.git
- [törölt] b1
Ha megnézi a távoli fiókjait, a b1-et nem szabad látnia:
$ git ág -reredet / mester
Gratulálunk! Az összes létrehozott fiókot sikeresen törölte. Gyakorold további ágak létrehozását és törlését a Git-ág törlési folyamatának elsajátításához.
A további vizsgálat:
- https: // git-scm.com / book / en / v1 / Git-Branching-What-a-Branch-Is
- https: // git-scm.com / book / en / v2 / Git-Branching-Branches-in-a-Dióhéj
- https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branching-and-Merging