2012-05-26 14 views
68

Dopo aver unito un ramo, lo si elimina dal repository?
Tuttavia, è una buona pratica o no?Devo cancellare un ramo dopo averlo unito?

Generalmente creo molti rami, dal momento che non voglio interrompere la mia versione attuale e vorrei eliminarli per mantenere le cose in ordine.
Tuttavia, se lavori con Assembla o GitHub, le tue richieste di fusione da vecchi rami verranno salvate sul sito, quindi se le elimini avrai un errore dato che non sarà in grado di recuperarle ...

Di solito come gestirlo?

risposta

50

Nessun problema nell'eliminazione di rami che sono stati uniti. Tutti i commit sono ancora disponibili nella cronologia, e anche nell'interfaccia di GitHub, verranno comunque visualizzati (vedere, ad esempio, this PR che si riferisce a una forcella che Ho cancellato dopo che il PR è stato accettato). .

+0

Hai detto che tutti i commit sono ancora disponibili nella cronologia. Se visualizzo un progetto su github.com, trovo che questo è vero. Tuttavia, nell'app desktop Github per Mac, sembra che non sia più possibile visualizzare la cronologia di commit per il ramo unito. Mi sbaglio? – peacetype

+0

Aggiungo che se non si sta usando un client git, specialmente se non si usa uno con un gui, avere i rami può essere utile per capire bene il log. Cioè, dal momento che non hai un github/gitlab/altra GUI da guardare, mantenere i nomi dei rami ti permette di avere un posto semplice per referenziare la cronologia oltre alla cronologia dei commit, che altrimenti andrebbe persa cancellando il ramo. Qualcuno, per favore, fammi sapere se questa ultima affermazione è sbagliata. – Raj

18

io sicuramente ripulire i miei rami dopo che sono stati fusi in

Usiamo GitLab e unire le richieste di lavoro, quindi le informazioni storiche su rami viene memorizzato anche lì; Non ho bisogno che loro ingombrino la mia lista di filiali, e quando guardo la biforcazione di un collega, idealmente mi piacerebbe solo vedere i rami del loro attuale sviluppo attivo. Se sto cercando di guardare qualche codice sul loro ramo, voglio essere in grado di esaminare solo alcuni rami attualmente attivi, e non tutte le funzionalità o le correzioni su cui hanno mai iniziato a lavorare.

Quanto sopra si applica anche a BitBucket e GitHub.

L'unico motivo per cui non si elimina un ramo post-merge è quindi sapere dove si è conclusa una determinata funzione, ma unire le commit (e git merge --no-ff se proprio si vuole) renderlo irrilevante.

+3

Apparentemente [GitHub fa sempre --no-ff] (http://ariya.ofilabs.com/2013/09/fast-forward-git-merge.html) quindi non perderemo il fatto che questo era un ramo anche in quelle situazioni. – joeytwiddle

+6

@joeytwiddle: partendo dal presupposto che stai usando la stessa interfaccia di GitHub per unire il ramo, sì! – Ashe

Problemi correlati