V tejto lekcii urobíme nasledovné:
- Vytvorte vzdialené úložisko
- Vytvorte lokálnu kópiu vzdialeného úložiska
- V miestnej kópii vytvorte dve vetvy
- Zatlačte jednu vetvu do vzdialeného úložiska
- Odstrániť miestne pobočky
- Odstrániť vzdialené pobočky
Táto lekcia by vám mala poskytnúť celkové pochopenie procesu vytvárania a mazania pobočiek, takže máte dobrý prehľad o potrebných krokoch, keď potrebujete vymazať miestnu alebo vzdialenú pobočku.
Začnime.
1. Vytváranie vzdialeného úložiska
Vytvorme priečinok s názvom projekt.git a inicializujte sa ako vzdialené úložisko:
$ mkdir projekt.git$ cd projekt.git
$ git init -bare
Inicializované prázdne úložisko Git v / Users / zak / _work / LearnGIT / git_delete_branch / project.git /
2. Vytvorenie lokálnej kópie vzdialeného úložiska
Na novom mieste vytvoríme lokálnu kópiu s názvom project_local vzdialeného úložiska pomocou príkazu clone.
Poznámka: Ak pracujete s GitHub alebo BitBucket, klonujete úložisko rovnakým spôsobom. V takom prípade namiesto celej tu použitej cesty k súboru budete mať odkaz SSH.
$ git clone / Users / zak / _work / LearnGIT / git_delete_branch / projekt.git project_localKlonovanie do 'project_local' ..
varovanie: Zdá sa, že ste naklonovali prázdne úložisko.
hotový.
3. Vytváranie pobočiek v lokálnej kópii
Najprv pridáme súbor do lokálnej kópie a potom ho presunieme do vzdialeného úložiska:
$ cd project_local$ touch ReadMe.TXT
$ git pridať -A
$ git commit -m "Inicializácia modulu"
[master (root-commit) 81eb2a3] Inicializácia modulu
1 súbor zmenený, 0 vložení (+), 0 odstránení (-)
vytvorte režim 100644 ReadMe.TXT
$ git push pôvodný majster
Počítanie objektov: 3, hotovo.
Písacie objekty: 100% (3/3), 221 bajtov | 0 bajtov / s, hotovo.
Celkom 3 (delta 0), znovu použité 0 (delta 0)
Komu / Používatelia / zak / _work / LearnGIT / git_delete_branch / projekt.git
* [nová pobočka] pán -> pán
Vo vyššie uvedených príkazoch sme vytvorili súbor s názvom ReadMe.txt, pridal ho do miestnej kópie, odovzdal do miestnej kópie a potom zmeny posunul do vzdialeného úložiska alebo hlavnej vetvy pôvodu.
Ak skontrolujete vetvy, v miestnej kópii sa zobrazí hlavná vetva:
$ git pobočka* pán
Ak zaškrtnete vzdialené pobočky, uvidíte tam aj hlavnú pobočku:
$ git pobočka -rpôvod / majster
Tip: Môžete použiť voľbu '-a' na spoločné zobrazenie všetkých pobočiek v lokálnych a vzdialených úložiskách.
$ git pobočka -a* pán
diaľkové ovládače / pôvod / majster
Vytvorme dve vetvy zvané b1 a b2 z hlavnej vetvy:
$ git pobočka b1$ git pobočka b2
Poďme skontrolovať, či boli pobočky vytvorené:
$ git pobočkab1
b2
* pán
Teraz urobíme niekoľko úprav pobočiek:
$ git pokladňa b1Prepnuté na pobočku „b1“
$ touch pobočka1.TXT
$ git pridať -A
$ git commit -m "Úprava pobočky 1"
[bl1 a2f488e] Modifikácia vetvy 1
1 súbor zmenený, 0 vložení (+), 0 odstránení (-)
vytvoriť režim 100644 branch1.TXT
$ git pokladňa b2
Prepnuté na pobočku „b2“
$ touch vetva2.TXT
$ git pridať -A
$ git commit -m "Úprava pobočky 2"
[b2 2abb723] Modifikácia vetvy 2
1 súbor zmenený, 0 vložení (+), 0 odstránení (-)
vytvorte režim 100644 branch2.TXT
Poďme skontrolovať stav miestnej a vzdialenej pobočky:
$ git pobočkab1
* b2
pán
$ git pobočka -r
pôvod / majster
Vidíme lokálne, že máme tri pobočky master, b1 a b2. Ale vo vzdialenom úložisku máme iba hlavnú vetvu.
4. Posun pobočiek do vzdialeného úložiska
Posuňme vetvu b1 do vzdialeného úložiska:
$ git push origin b1Počítanie objektov: 2, hotovo.
Delta kompresia s použitím až 4 vlákien.
Kompresia objektov: 100% (2/2), hotovo.
Písacie objekty: 100% (2/2), 249 bajtov | 0 bajtov / s, hotovo.
Celkom 2 (delta 0), znovu použité 0 (delta 0)
Komu / Používatelia / zakh / _work / LearnGIT / git_delete_branch / projekt.git
* [nová pobočka] b1 -> b1
Môžete skontrolovať stav miestnej a vzdialenej pobočky:
$ git pobočkab1
* b2
pán
$ git pobočka -r
pôvod / b1
pôvod / majster
Z vyššie uvedených stavov vetiev vidíme, že vetva b1 je k dispozícii aj na diaľku.
5. Lokálne mazanie pobočiek
Pobočky môžete lokálne vymazať pomocou voľby -d alebo -D.
vetva git -dNajprv skontrolujme hlavnú vetvu, aby sme mohli odstrániť vetvy b1 a b2.
$ git pokladňa, majsterPrepnuté na pobočku „hlavný“
Vaša pobočka je aktuálna s označením „origin / master“.
Vyskúšajme najskôr voľbu -d na odstránenie vetvy b1:
$ git pobočka -d b1chyba: Pobočka 'b1' nie je úplne zlúčená.
Ak ste si istí, že ho chcete vymazať, spustite 'git branch -D b1'.
Chyba vám hovorí, že musíte zlúčiť zmeny z vetvy b1. Toto je ochrana, aby ste omylom nestratili prácu na pobočkách. Môžete použiť voľbu -D na vynútené odstránenie zlúčenia. Ale v tomto prípade spojme zmeny z b1 a b2 na master a prenesme ich do vzdialeného úložiska.
$ git zlúčenie b1Aktualizuje sa 81eb2a3… a2f488e
Rýchlo vpred
pobočka1.txt | 0
1 súbor zmenený, 0 vložení (+), 0 odstránení (-)
vytvoriť režim 100644 branch1.TXT
$ git zlúčenie b2
Zlúčenie uskutočnené pomocou „rekurzívnej“ stratégie.
vetva2.txt | 0
1 súbor zmenený, 0 vložení (+), 0 odstránení (-)
vytvorte režim 100644 branch2.TXT
$ git push pôvodný majster
Počítanie objektov: 4, hotovo.
Delta kompresia s použitím až 4 vlákien.
Kompresia objektov: 100% (4/4), hotovo.
Písacie objekty: 100% (4/4), 454 bajtov | 0 bajtov / s, hotovo.
Celkom 4 (delta 1), znovu použité 0 (delta 0)
Komu / Používatelia / zak / _work / LearnGIT / git_delete_branch / projekt.git
81eb2a3… 34db496 hlavný -> hlavný
Teraz skúste znova vetvy odstrániť:
$ git pobočkab1
b2
* pán
$ git pobočka -d b1
Vymazaná vetva b1 (bola a2f488e).
$ git pobočka -d b2
Vymazaná vetva b2 (bola 2abb723).
$ git pobočka
* pán
Úspešne ste lokálne odstránili vetvy b1 a b2.
6. Odstraňovanie vzdialených pobočiek
Keď skontrolujete vzdialené vetvy, stále sa zobrazuje b1:
$ git pobočka -rpôvod / b1
pôvod / majster
Na odstránenie vzdialenej vetvy môžete použiť nasledujúci príkaz:
git pushTakže môžete odstrániť vzdialenú vetvu b1 nasledujúcim spôsobom:
$ git push origin - odstrániť b1Komu / Používatelia / zakh_eecs / _work / LearnGIT / git_delete_branch / projekt.git
- [vypustené] b1
Ak teraz skontrolujete svoje vzdialené pobočky, už by ste nemali vidieť b1:
$ git pobočka -rpôvod / majster
Gratulujem! Úspešne ste odstránili všetky pobočky, ktoré ste vytvorili. Precvičte si vytváranie ďalších pobočiek a ich odstraňovanie, aby ste si osvojili proces odstraňovania pobočiek Git.
Ďalšie štúdium:
- 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-Nutshell
- https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branching-and-Merging