W tej lekcji zrobimy następujące czynności:
Lekcja powinna zapewnić ogólne zrozumienie procesu tworzenia i usunięcia gałęzi, więc masz dobre polecenie w stosunku do niezbędnych kroków, gdy musisz usunąć lokalną lub zdalną gałęznę.
Zacznijmy.
Utwórzmy folder o nazwie Project.git i inicjuj jako zdalne repozytorium:
Projekt $ mkdir.git
$ CD Project.git
$ git init -Bare
Zainicjowane puste repozytorium Git/Users/Zak/_Work/Learngit/git_delete_branch/projekt.git/
2. Tworzenie lokalnej kopii zdalnego repozytorium
W nowej lokalizacji utwórzmy lokalną kopię o nazwie projekt_local zdalnego repozytorium za pomocą polecenia klonu.
Uwaga: Jeśli pracujesz z GitHub lub Bitbucket, będziesz postępować zgodnie z tym samym procesem, aby sklonować repozytorium. W takim przypadku będziesz mieć link SSH zamiast pełnej ścieżki pliku używanej tutaj.
$ git Clone/Users/Zak/_Work/Learngit/git_delete_branch/projekt.Git Project_Local
Klonowanie do „Project_Local”…
OSTRZEŻENIE: Wygląda na to, że sklonowałeś puste repozytorium.
zrobione.
3. Tworzenie gałęzi wewnątrz lokalnej kopii
Najpierw dodajmy plik do lokalnej kopii, a następnie naciśnij go do zdalnego repozytorium:
$ CD Project_Local
$ Touch Readme.tekst
$ git add -a
$ git commit -m „Inicjowanie modułu”
[Master (root-commit) 81EB2A3] inicjowanie modułu
1 Zmieniony plik, 0 wstawek (+), 0 delecji (-)
Utwórz tryb 100644 README.tekst
$ git push pochodzenie mistrz
Liczenie obiektów: 3, gotowe.
Pisanie obiektów: 100% (3/3), 221 bajtów | 0 bajtów/s, gotowe.
Razem 3 (Delta 0), ponownie użyty 0 (Delta 0)
To/Users/Zak/_Work/Learngit/git_delete_branch/projekt.git
* [Nowa gałąź] Master -> Master
W powyższych poleceniach utworzyliśmy plik o nazwie README.TXT, dodał go do kopii lokalnej, oddał go do kopii lokalnej, a następnie popchnął zmiany do zdalnego repozytorium lub głównego oddziału Origin.
Jeśli sprawdzisz gałęzie, zobaczysz gałąź główną w lokalnej kopii:
$ git oddział
* gospodarz
Jeśli sprawdzisz zdalne gałęzie, zobaczysz tam również gałąź główną:
$ git oddział -r
Origin/Master
Wskazówka: możesz użyć opcji „-A”, aby razem zobaczyć wszystkie oddziały w lokalnych i zdalnych repozytoriach.
$ git oddział -a
* gospodarz
Remotes/Origin/Master
Utwórzmy dwie gałęzie o nazwie B1 i B2 z gałęzi głównej:
$ git oddział B1
$ git oddział B2
Sprawdźmy, czy gałęzie zostały utworzone:
$ git oddział
B1
B2
* gospodarz
Teraz zamierzamy wprowadzić pewne modyfikacje gałęzi:
$ git kector B1
Przełączony na gałąź „B1”
$ Touch Branch1.tekst
$ git add -a
$ git commit -m „modyfikacja oddziału”
[B1 A2F488E] Modyfikacja Branch1
1 Zmieniony plik, 0 wstawek (+), 0 delecji (-)
Utwórz tryb 100644 Branch1.tekst
$ git kector B2
Przełączony na gałąź „B2”
$ Touch Branch2.tekst
$ git add -a
$ git commit -m „modyfikacja oddziału”
[B2 2ABB723] Modyfikacja Branch2
1 Zmieniony plik, 0 wstawek (+), 0 delecji (-)
Utwórz tryb 100644 Branch2.tekst
Sprawdźmy lokalne i zdalne statusy oddziału:
$ git oddział
B1
* B2
gospodarz
$ git oddział -r
Origin/Master
Możemy zobaczyć lokalnie trzy gałęzie Master, B1 i B2. Ale mamy tylko gałąź główną w zdalnym repozytorium.
4. Pchanie gałęzi do zdalnego repozytorium
Pchnijmy gałąź B1 do zdalnego repozytorium:
$ git push pochodzenie b1
Liczenie obiektów: 2, gotowe.
Kompresja delta za pomocą maksymalnie 4 wątków.
Kompresujące obiekty: 100% (2/2), gotowe.
Pisanie obiektów: 100% (2/2), 249 bajtów | 0 bajtów/s, gotowe.
Razem 2 (Delta 0), ponownie użyty 0 (Delta 0)
To/Users/Zakh/_Work/Learngit/git_delete_branch/projekt.git
* [Nowa gałąź] B1 -> B1
Możesz sprawdzić lokalne i zdalne statusy oddziału:
$ git oddział
B1
* B2
gospodarz
$ git oddział -r
pochodzenie/B1
Origin/Master
Z powyższych statusów gałęzi widać, że gałąź B1 jest również dostępna zdalnie.
5. Usuwanie gałęzi lokalnie
Możesz usunąć gałęzie lokalnie za pomocą opcji -d lub -d.
git gałąź -d
Najpierw sprawdźmy w gałęzi głównej, abyśmy mogli usunąć gałęzie B1 i B2.
$ git kectout Master
Przełączony na „mistrz” oddziału
Twoja gałąź jest aktualna z „Origin/Master”.
Wypróbujmy opcję -D, aby usunąć gałąź B1:
$ git oddział -d b1
Błąd: gałąź „B1” nie jest w pełni scalona.
Jeśli jesteś pewien, że chcesz go usunąć, uruchom „git gałąź -d b1”.
Błąd mówi ci, że musisz połączyć zmiany z gałęzi B1. To jest zabezpieczenie, więc nie błędnie tracisz pracę nad gałęziami. Możesz użyć opcji -D, aby wymusić usunięcie scalania. Ale w tym przypadku połączmy zmiany z B1 i B2 w Master i wepchnij je do zdalnego repozytorium.
$ git merge b1
Aktualizacja 81EB2A3… A2F488E
Szybkie do przodu
Branch1.txt | 0
1 Zmieniony plik, 0 wstawek (+), 0 delecji (-)
Utwórz tryb 100644 Branch1.tekst
$ git merge b2
Scalone przez strategię „rekurencyjną”.
Branch2.txt | 0
1 Zmieniony plik, 0 wstawek (+), 0 delecji (-)
Utwórz tryb 100644 Branch2.tekst
$ git push pochodzenie mistrz
Liczenie obiektów: 4, gotowe.
Kompresja delta za pomocą maksymalnie 4 wątków.
Kompresujące obiekty: 100% (4/4), gotowe.
Pisanie obiektów: 100% (4/4), 454 bajtów | 0 bajtów/s, gotowe.
Ogółem 4 (Delta 1), ponownie użyty 0 (Delta 0)
To/Users/Zak/_Work/Learngit/git_delete_branch/projekt.git
81EB2A3… 34DB496 Master -> Master
Teraz spróbuj ponownie usunąć gałęzie:
$ git oddział
B1
B2
* gospodarz
$ git oddział -d b1
Usunięta gałąź B1 (A2F488E).
$ git oddział -d b2
Usunięta gałąź B2 (2ABB723).
$ git oddział
* gospodarz
Z powodzeniem usunąłeś gałęzie B1 i B2 lokalnie.
6. Usuwanie zdalnych gałęzi
Po sprawdzeniu zdalnych gałęzi nadal widać B1 Present:
$ git oddział -r
pochodzenie/B1
Origin/Master
Możesz użyć następującego polecenia, aby usunąć zdalną gałąź:
Git Push--usuwać
Dzięki czemu możesz usunąć gałąź zdalnego B1 z następującymi:
$ git push pochodzenie - -delete B1
To/Users/Zakh_Eecs/_Work/Learngit/git_delete_branch/projekt.git
- [usunięty] B1
Teraz, jeśli sprawdzisz swoje zdalne gałęzie, nie powinieneś już widzieć B1:
$ git oddział -r
Origin/Master
Gratulacje! Pomyślnie usunąłeś wszystkie stworzone gałęzie. Ćwicz tworzenie większej liczby gałęzi i usuwanie ich w celu opanowania procesu usuwania gałęzi GIT.