Cum să ștergeți o sucursală în Git local și de la distanță

Cum să ștergeți o sucursală în Git local și de la distanță

Una dintre cele mai puternice caracteristici ale Git este ramurile sale ușoare. Acestea vă permit să lucrați în mod eficient pe etape paralele de dezvoltare. Un dezvoltator ar putea chiar crea ramuri individuale pentru bug-uri separate. Atât în ​​timp, cât și în spațiu, ramurile sunt aproape fără costuri.





vizionați videoclipuri YouTube în același timp

Multe fluxuri de lucru git se ocupă atât de ramuri pe termen lung, cât și de ramuri temporare. Prin urmare, este adesea nevoie să ștergeți ramurile în timpul dezvoltării. Ocazional este nevoie să ștergeți ramurile partajate, de pe un server la distanță, precum și ramurile locale.





De ce să ștergeți o sucursală?

În primul rând, dacă totuși te apuci de git, există șanse destul de mari să creezi o sucursală și apoi să decizi că nu este nevoie. Sau s-ar putea să experimentați cu ramuri și să doriți să vă lămuriți după voi. Acest lucru este bine, deoarece ramificarea în git este o operație ușoară. Este foarte rapid și folosește eficient spațiul pe disc.





Drept urmare, multe fluxuri de lucru pentru dezvoltarea git încurajează ramificarea, chiar și pentru sarcini foarte mici sau scurte. De exemplu, o strategie comună este de a creați o ramură pentru o singură remediere a erorilor. Acest lucru este adevărat, chiar dacă implică doar un singur autor care face o modificare pe o singură linie într-un singur fișier.

Din aceste motive, crearea și ștergerea sucursalelor sunt operațiuni care trebuie bine înțelese. S-ar putea să vă găsiți de multe ori ștergând sucursale în timpul unui flux de lucru de dezvoltare tipic.



Un exemplu de depozit cu sucursale

Următoarele exemple se referă la un eșantion de depozit cu următoarea structură:

$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit

Rețineți că fiecare ramură locală are o ramură în amonte corespunzătoare de la distanță: origine .





Ștergerea unei ramuri folosind linia de comandă

Sintaxa de bază a comenzii pentru ștergerea unei ramuri este:

git branch (-d | -D) [-r] ...

Cea mai simplă formă a comenzii șterge o ramură locală, cu condiția ca toate modificările sale să fie combinate:





$ git branch -d dev

Nu puteți șterge ramura care este activă în prezent; dacă încercați să faceți acest lucru, veți primi un mesaj de genul acesta:

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

Când lucrurile merg bine, veți vedea un mesaj de confirmare:

Deleted branch dev (was 1ae41e8).

Dacă ștergeți o ramură care există numai local, cu modificări neacorporate, veți pierde aceste modificări. Prin urmare, git va refuza ștergerea unei sucursale într-o astfel de situație, în mod implicit:

error: The branch ‘dev’ is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev’.

După cum informează mesajul de eroare, puteți forța ștergerea cu -D steag. Cu toate acestea, git vă va permite să ștergeți o sucursală locală fără fuziune, dacă aceasta există de la distanță:

warning: deleting branch ‘dev’ that has been merged to
'refs/remotes/origin/dev’, but not yet merged to HEAD.
Deleted branch dev (was 9a6d20b).

Ștergerea unei ramuri la distanță este destul de diferită. Veți folosi git push comanda împreună cu -d steag pentru a șterge. După aceea, furnizați numele telecomenzii (adesea origine ) și numele sucursalei:

$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] dev

Ștergerea ramurilor locale și la distanță cu GitHub Desktop

Spre deosebire de programul git din linia de comandă, Aplicația desktop GitHub vă va permite doar să ștergeți ramura activă. Puteți efectua această acțiune prin intermediul Ramură , selectând meniul Șterge și confirmând-o:

GitHub Desktop nu vă permite să ștergeți ramura implicită - de ex. main - chiar dacă git în sine susține acest lucru. Dacă ramura implicită este cea care este activă în prezent, aplicația dezactivează acțiunea din meniu.

Dacă ramificația reprezintă și o ramură la distanță, GitHub Desktop oferă opțiunea de a o șterge și de la telecomandă:

Ștergerea sucursalelor folosind GitKraken

GitCrack afișează ramurile locale și la distanță ale depozitului dvs. în bara laterală din stânga. Trebuie să ștergeți fiecareseparat.

Plasați cursorul peste numele sucursalei corespunzătoare și faceți clic pe Ramură meniul de acțiuni care arată ca trei puncte verticale. Din meniu, selectați Șterge :

Veți vedea un mesaj de confirmare care vă informează că este o operațiune distructivă. Puteți confirma că doriți să continuați cu Șterge buton:

Reflectând comportamentul implicit al programului de linie de comandă git, trebuie mai întâi să treceți la o ramură, alta decât cea pe care o ștergeți. În caz contrar, veți vedea un mesaj de eroare:

Ștergerea ramurilor locale și de la distanță folosind Tower

Ștergerea unei ramuri cu Turn este foarte asemănător cu ștergerea unei ramuri cu GitKraken. Ramurile locale și la distanță sunt afișate într-un panou din partea stângă. Faceți clic dreapta pe orice ramură și selectați opțiunea Ștergere din meniul contextual:

O diferență esențială este că o ramură la distanță poate fi ștearsă împreună cu ramura sa locală, în timpul confirmării:

Ștergerea unei sucursale pe GitHub

GitHub acționează doar ca o sursă la distanță, astfel încât ramurile sunt la distanță în mod implicit. Dacă ștergeți o sucursală utilizând site-ul web GitHub, va trebui să ștergeți sucursala locală corespunzătoare utilizând una dintre celelalte metode de aici.

La fel ca în cazul aplicației GitHub Desktop, site-ul web GitHub nu vă va permite să ștergeți ramura implicită. Opțiunea pur și simplu nu apare. Ștergerea unei ramuri este totuși simplă. Din depozit Cod pagina, faceți clic pe ramuri link, localizați ramura de șters, apoi faceți clic pe Ștergeți această ramură pictogramă, care arată ca un coș de gunoi:

Rețineți că nu există verificări pentru modificările necombinate, așa că pe GitHub, sucursala va fi ștearsă imediat. Cu toate acestea, deoarece va reprezenta întotdeauna o ramură la distanță, acesta ar trebui să fie comportamentul pe care îl așteptați.

Rețineți că, după ștergere, veți vedea un buton pentru Restabili ramura. Cu toate acestea, aceasta este pur și simplu o caracteristică utilă de anulare, în cazul în care faceți clic accidental pe pictograma de ștergere. Nu vă bazați pe el, deoarece, de îndată ce reîmprospătați sau navigați departe de pagină, veți pierde opțiunea!

Ștergerea sucursalelor locale și la distanță de pe Bitbucket

Bitbucket, la fel ca GitHub, nu vă va permite să ștergeți ramura implicită. Bitbucket îl numește Ramura principală în Setări depozit . Puteți șterge orice altă ramură listată în Ramuri filă, prin corespondența sa Acțiuni meniul:

De asemenea, puteți șterge mai multe ramuri simultan dacă faceți o operație de curățare mare:

Ștergerea ramurilor face parte dintr-un flux de lucru tipic Git

Sucursalele Git vă pot complica fluxul de lucru, în special unul cu sucursale locale, la distanță și de urmărire. Dar pentru o dezvoltare simplă de zi cu zi, este probabil să creați și să ștergeți filiale locale tot timpul. Acesta este un aspect esențial al unui flux de lucru tipic git cu care ar trebui să vă obișnuiți.

Acțiune Acțiune Tweet E-mail Cum să utilizați ramurile Git pentru a vă structura proiectul de programare

În acest articol vom analiza ce înseamnă codificarea codului dvs., cum să o faceți și modalități de gestionare a actualizărilor la ramura git „principală”.

Citiți în continuare
Subiecte asemănătoare
  • Programare
  • GitHub
Despre autor Bobby Jack(58 articole publicate)

Bobby este un pasionat de tehnologie care a lucrat ca dezvoltator de software timp de aproape două decenii. Este pasionat de jocuri, lucrează ca editor de recenzii la Switch Player Magazine și este cufundat în toate aspectele publicării online și dezvoltării web.

Mai multe de la Bobby Jack

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona