Una delle caratteristiche più forti di Git sono i suoi rami leggeri. Consentono di lavorare in modo efficiente su fasi parallele di sviluppo. Uno sviluppatore potrebbe persino creare rami individuali per bug separati. Sia nel tempo che nello spazio, le filiali sono quasi gratuite.

Molti flussi di lavoro git si occupano di rami sia a lungo termine che temporanei. Pertanto, è spesso necessario eliminare i rami durante lo sviluppo. Occasionalmente è necessario eliminare i rami condivisi, da un server remoto, nonché i rami locali.

Perché eliminare un ramo?

Primo, se lo sei ancora fare i conti con git, ci sono buone probabilità che crei un ramo e poi decidi che non era necessario. Oppure potresti sperimentare con i rami e voler chiarire dopo te stesso. Questo va bene poiché la ramificazione in git è un'operazione leggera. È molto veloce e utilizza lo spazio su disco in modo efficiente.

Come utilizzare i rami Git per strutturare il tuo progetto di programmazione

In questo articolo vedremo cosa significa ramificare il tuo codice, come farlo e come gestire gli aggiornamenti al ramo git "principale".

instagram viewer

Di conseguenza, molti flussi di lavoro di sviluppo git incoraggiano il branching, anche per attività molto piccole o brevi. Ad esempio, una strategia comune è quella di creare un ramo per una singola correzione di bug. Ciò è vero anche se si tratta di un solo autore che apporta una modifica di una riga in un singolo file.

Per questi motivi, la creazione e l'eliminazione dei rami sono operazioni che devono essere ben comprese. Potresti trovarti spesso a eliminare rami durante un tipico flusso di lavoro di sviluppo.

Un repository di esempio con filiali

I seguenti esempi fanno riferimento a un repository di esempio con la seguente struttura:

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

Nota che ogni ramo locale ha un ramo a monte corrispondente dal remoto: origine.

Eliminazione di un ramo utilizzando la riga di comando

La sintassi del comando di base per eliminare un ramo è:

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

La forma più semplice del comando elimina un ramo locale, a condizione che tutte le sue modifiche siano state unite:

$ git branch -d dev

Non è possibile eliminare il ramo attualmente attivo; se provi a farlo, riceverai un messaggio come questo:

errore: impossibile eliminare il ramo "principale" estratto in "/ tmp / sandbox"

Quando le cose vanno per il verso giusto, vedrai un messaggio di conferma:

Eliminato lo sviluppo del ramo (era 1ae41e8).

Se elimini un ramo che esiste solo localmente, con modifiche non unite, perderai tali modifiche. Pertanto, git rifiuterà di eliminare un ramo in una situazione del genere, per impostazione predefinita:

errore: il ramo "dev" non è completamente unito.
Se sei sicuro di volerlo eliminare, esegui "git branch -D dev".

Come informa il messaggio di errore, puoi forzare l'eliminazione con il file -D bandiera. Tuttavia, git ti consentirà di eliminare un ramo locale non unito se esiste in remoto:

avviso: eliminazione del ramo "dev" che è stato unito a
"refs / remotes / origin / dev", ma non ancora unito a HEAD.
Eliminato lo sviluppo del ramo (era 9a6d20b).

L'eliminazione di un ramo remoto è abbastanza diversa. Utilizzerai il git push comando insieme al -d flag da eliminare. Successivamente, fornire il nome del telecomando (spesso origine) e il nome della filiale:

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

Eliminazione di rami locali e remoti con GitHub Desktop

A differenza del programma git da riga di comando, L'app desktop di GitHub ti consentirà di eliminare solo il ramo attivo. È possibile eseguire questa azione tramite Ramo menu, selezionando il Elimina opzione e confermandola:

GitHub Desktop non ti consente di eliminare il ramo predefinito, ad es. main, anche se lo stesso git lo supporta. Se il ramo predefinito è quello attualmente attivo, l'app disabilita l'azione del menu.

Se il ramo rappresenta anche un ramo remoto, GitHub Desktop offre la possibilità di eliminarlo anche dal telecomando:

Eliminazione di rami utilizzando GitKraken

GitKraken mostra i rami locali e remoti del tuo repository nella barra laterale di sinistra. Devi eliminarli tutti separatamente.

Passa il mouse sul nome del ramo appropriato e fai clic su Ramo menu azioni che assomiglia a tre punti verticali. Dal menu, seleziona Elimina :

Vedrai un messaggio di conferma che ti informa che si tratta di un'operazione distruttiva. Puoi confermare di voler continuare con il file Elimina pulsante:

Riflettendo il comportamento predefinito del programma a riga di comando git, devi prima passare a un ramo diverso da quello che stai eliminando. In caso contrario, vedrai un messaggio di errore:

Eliminazione di rami locali e remoti utilizzando Tower

Eliminazione di un ramo con Torre è molto simile all'eliminazione di un ramo con GitKraken. I rami locali e remoti sono visualizzati in un pannello sul lato sinistro. Fare clic con il tasto destro su qualsiasi ramo e selezionare l'opzione Elimina dal menu contestuale:

Una differenza fondamentale è che un ramo remoto può essere eliminato insieme al suo ramo locale, durante la conferma:

Eliminazione di un ramo su GitHub

GitHub funge solo da sorgente remota, quindi i rami sono remoti per impostazione predefinita. Se elimini un ramo utilizzando il sito Web GitHub, dovrai eliminare il ramo locale corrispondente utilizzando uno degli altri metodi qui.

Come con l'app GitHub Desktop, il sito Web GitHub non ti consentirà di eliminare il ramo predefinito. L'opzione semplicemente non appare. Tuttavia, eliminare un ramo è semplice. Dal repository Codice pagina, fare clic su rami, individuare il ramo da eliminare, quindi fare clic su Elimina questo ramo icona, che sembra un cestino:

Tieni presente che non ci sono controlli per le modifiche non unite, quindi su GitHub, il ramo verrà semplicemente eliminato immediatamente. Tuttavia, poiché rappresenterà sempre un ramo remoto, questo dovrebbe essere il comportamento che ti aspetti.

Tieni presente che, dopo l'eliminazione, vedrai un pulsante per Ristabilire il ramo. Tuttavia, questa è semplicemente un'utile funzione di annullamento, nel caso in cui si faccia clic accidentalmente sull'icona di eliminazione. Non fare affidamento su di esso, perché non appena aggiorni o esci dalla pagina, perderai l'opzione!

Eliminazione di rami locali e remoti su Bitbucket

Bitbucket, come GitHub, non ti consentirà di eliminare il ramo predefinito. Bitbucket lo chiama Ramo principale nel Impostazioni del repository. Puoi eliminare qualsiasi altro ramo elencato nel file Rami scheda, tramite il suo corrispondente Azioni menù:

Puoi anche eliminare più di un ramo contemporaneamente se stai eseguendo una grande operazione di pulizia:

L'eliminazione dei rami fa parte di un tipico flusso di lavoro di Git

I rami Git possono complicare il tuo flusso di lavoro, in particolare uno con rami locali, remoti e di tracciamento. Ma per un semplice sviluppo quotidiano, è probabile che crei ed elimini le filiali locali tutto il tempo. Questo è un aspetto fondamentale di un tipico flusso di lavoro git a cui dovresti abituarti.

E-mail
Come utilizzare i rami Git per strutturare il tuo progetto di programmazione

In questo articolo vedremo cosa significa ramificare il tuo codice, come farlo e come gestire gli aggiornamenti al ramo git "principale".

Argomenti correlati
  • Programmazione
  • GitHub
Circa l'autore
Bobby Jack (23 articoli pubblicati)

Bobby è un appassionato di tecnologia che ha lavorato come sviluppatore di software per quasi due decenni. È appassionato di giochi, lavora come revisore per Switch Player Magazine ed è immerso in tutti gli aspetti dell'editoria online e dello sviluppo web.

Altro da Bobby Jack

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Ancora un passo…!

Conferma il tuo indirizzo e-mail nell'e-mail che ti abbiamo appena inviato.

.