In u mondu sanu, Git hè u sistema di cuntrollu di versione (VCS) più utilizatu per u monitoraghju è u cuntrollu di u prugettu. Offre ancu un ambiente di travagliu spargugliatu è di cullaburazione, incuraghjendu a cooperazione.
Branching hè una di e funzioni più essenziali di Git, postu chì permette di creà un canale separatu per un settore specificu di cambiamenti, cum'è un bug patch, u sviluppu di novi funziunalità, o l'esperimentazione, senza impactà u ramu principale.
In paragunà à l'altri operazioni Git, branching hè un metudu abbastanza simplice. Si permette di deviate da u codice basi uriginale.
Branching permette di collaborà cù altri sviluppatori più rapidamente è vi furnisce assai libertà in u vostru flussu di travagliu. Permette ancu di travaglià nantu à una nova funzione senza impactà u restu di a basa di codice.
U mecanismu di branching di Git permette a creazione di novi rami in un prughjettu.
Queste rami supplementari ponu esse aduprate per pruvà i cambiamenti di codice senza interferiscenu cù u codice di u prughjettu principale. Se l'aghjustamenti sò riesciuti, u ramu pò esse fusionatu in u ramu principale.
Tuttavia, ci sò volte quandu avete bisognu di sguassà un ramu Git in u locu, ma micca remotamente. Leghjite per sapè cumu fà.
Cosa hè Git Branch?
Git pò seguità parechje linee di travagliu grazia à branching. Questu vi permette di travaglià in parechje versioni di u vostru prughjettu simultaneamente.
Parechji prughjetti mantenenu un ramu maestru stabile mentre aghjunghjenu novi funzioni o correggenu bug in un ramu di sviluppu o di prova.
Quandu i Project Managers sò assolutamente sicuri chì i cambiamenti fatti in a filiera Dev cumpiendu i criterii, ponu unisce quelli mudificazioni in u ramu maestru. Per certi prughjetti più grande, stu ciculu hè spessu ripetutu indefinitu.
U travagliu cù i rami di sviluppu di Git hè un approcciu maravigliu per travaglià cù u nostru prugramma mentre seguite e so versioni. Un ramu di sviluppu, in generale, hè una split in u statu di codice chì stabilisce una nova strada per u so avanzamentu.
Pò eseguisce in parallelu cù altre rami Git, pudete creà. Hè pussibule aghjunghje novi funziunalità à u nostru codice in una manera organizata è precisa.
Perchè è quandu hà bisognu di sguassà?
Hè una pratica di mantenimentu tipica per sguassà e rami di Git quandu ùn sò più in usu, ancu s'ellu ùn hè micca sempre universale o capitu.
Perchè duvete caccià i rami Git obsoleti da u vostru repository? Ci hè dui motivi basi per questu:
- Ùn sò micca necessarii. A maiò parte di i rami, in particulare quelli cunnessi à una dumanda di pull chì hè stata finalmente appruvata, ùn anu micca funzione.
- Sò una fonte di cunfusione. Ùn aghjunghjenu micca un overhead tecnologicu sustanziale, ma facenu u travagliu cù listi di rami in u repositoriu più sfida per l'omu.
I rami ponu esse sguassati in modu sicuru senza teme di perde ogni mudificazione.
Cunsiderate u scenariu seguente: un ramu patch-1 serà unitu cù u ramu maestru via una dumanda di pull. Prima di fusione, maestru è patch-1, ogni punta à diverse revisioni in a storia di git commit.
Dopu à a fusione (se hè aghjuntu un novu impegnu di fusione), u maestru è u patch-1 ligami tramindui à u novu cummissu di fusione. À questu puntu, a dumanda di pull hè finita, è tutti i futuri spingi duveranu esse sottumessi à u maestru invece di u patch-1.
Branche locale vs remota in Git
Branch Remote - Hè situatu in un sistema separatu, in generale un servitore chì i sviluppatori ponu accede. Quandu una filiera remota hè sguassata, hè sguassata per tutti l'utilizatori.
Branch Local - In u sistema lucale, una succursale lucale hè salvata. L'eliminazione di una succursale lucale ùn hà micca effettu nantu à una succursale distante.
Cumu sguassà e rami in u locu?
Ùn vi permetterà micca di caccià u ramu chì site avà travagliatu, dunque assicuratevi di verificà un ramu chì ùn site micca sguassatu. Cuminciamu per scopre cumu sguassà una filiera lucale.
- Per principià, eseguite u cumandimu (git branch -a) per vede tutte e rami (locali è remoti).
- Allora, utilizendu u cumandimu (git branch -d), seguitu da u nome di u ramu chì vulete sguassà, pudete sguassà.
Se tentate di caccià una filiera cù mudificazioni senza fusione, u missaghju d'errore seguente appariscerà:
Cum'è u missaghju sopra indica, per furzà l'eliminazione di un ramu, utilizate l'opzione -D, chì hè una scurciatoia per -delete -force.
Per piacè, tenete in mente chì l'eliminazione di una filiera unmerged hà da esse a perdita di tutte e mudificazioni à quella branche.
Se tentate di sguassà u ramu attuale, vi vede u missaghju seguente:
Ùn pudete micca caccià u ramu chì site avà. Passa à un altru ramu prima, poi sguassate u nome di a ramu:
L'inconveniente di sguassà una succursale
Un pussibile svantaghju per sguassà e rami hè chì qualsiasi ligame à u locu di u ramu serà rottu (in GitHub, etc.).
Ùn aghju quasi mai ligami permanenti à rami non primari, è s'ellu vulia cunnette à qualsiasi travagliu nantu à un ramu particulari, prubabilmente a faria dopu ch'ella sia stata trasfurmata in una dumanda di pull (in quale casu aghju ligame à u Pull-Request).
parole Final
Sapendu cumu utilizà e branche di sviluppu diventa criticu per creà a vostra applicazione in modu sistematicu. Pigliate cura di strutturà u vostru codice in diverse rami.
Sè, in ogni puntu, ùn site micca sicuru di una operazione cumplicata, hè sempre una bona idea di leghje A documentazione ufficiale di Git nantu à i rami.
Lascia un Audiolibro