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.
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 sucursalele partajate, de pe un server la distanță, precum și sucursalele locale.
De ce să ștergeți o sucursală?
Mai întâi, dacă ești încă apucând de git, există șanse destul de mari să creați o sucursală și apoi să decideți 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.
În acest articol vom analiza ce înseamnă codificarea dvs. de ramificare, cum să o faceți și modalități de gestionare a actualizărilor la ramura git „principală”.
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 adesea ș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] primul commit
2 * main 1ae41e8 [origin / main] primul commit
Rețineți că fiecare ramură locală are o ramură corespunzătoare în amonte de la distanță: origine.
Ștergerea unei ramuri folosind linia de comandă
Sintaxa de bază a comenzii pentru ștergerea unei ramuri este:
ramură git (-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:
eroare: Nu se poate șterge ramura „principală” verificată la „/ tmp / sandbox”
Când lucrurile merg bine, veți vedea un mesaj de confirmare:
Ștergerea dev a ramurii (a fost 1ae41e8).
Dacă ștergeți o ramură care există doar 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:
eroare: ramura „dev” nu este complet îmbinată.
Dacă sunteți sigur că doriți să îl ștergeți, rulați „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ță:
avertisment: ștergerea ramului „dev” care a fost îmbinat cu
„refs / telecomenzi / origine / dev”, dar încă nu este combinat cu HEAD.
Ștergerea dev a ramurii (a fost 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 origine dev
Pentru github.com: bobbykjack / sandbox.git
- [șters] dev
Ștergerea sucursalelor 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 din telecomandă:
Ștergerea sucursalelor folosind GitKraken
GitKraken afișează ramurile locale și la distanță ale depozitului dvs. în bara laterală din stânga. Trebuie să ștergeți fiecare separat.
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ță cheie 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ță, deci ramurile sunt la distanță în mod implicit. Dacă ștergeți o sucursală folosind site-ul web GitHub, va trebui să ștergeți sucursala locală corespunzătoare utilizând una dintre celelalte metode de aici.
Ca și î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.
În acest articol vom analiza ce înseamnă codificarea dvs. de ramificare, cum să o faceți și modalități de gestionare a actualizărilor la ramura git „principală”.
- Programare
- GitHub
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.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Încă un pas…!
Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.