Cosa fare con il ramo dopo l'unione


Risposte:


410

Dopo l'unione, è sicuro eliminare il ramo:

git branch -d branch1

Inoltre, git ti avvertirà (e rifiuterà di eliminare il ramo) se pensa di non averlo ancora unito completamente. Se si elimina forzatamente un ramo (con git branch -D) che non è stato ancora completamente unito, è necessario eseguire alcuni trucchi per recuperare i commit non uniti (vedere di seguito).

Ci sono alcuni motivi per mantenere un ramo in giro però. Ad esempio, se si tratta di un ramo di funzionalità, è possibile che si desideri eseguire correzioni di bug su quella funzione ancora all'interno di quel ramo.

Se vuoi anche eliminare il ramo su un host remoto, puoi fare:

git push origin :branch1

Ciò eliminerà forzatamente il ramo sul telecomando (ciò non influirà sui repository già estratti e non impedirà a nessuno con accesso push di ripubblicarlo / crearlo).


git reflogmostra le revisioni recentemente estratte. Qualsiasi ramo che hai verificato nella cronologia del repository recente verrà visualizzato anche lì. A parte questo, git fscksarà lo strumento di scelta in ogni caso di commit-loss in git.


Se si desidera salvare il ramo è possibile creare un tag prima di eliminarlo. Se vuoi tornare a quel punto puoi controllare quel tag.
Joqus,

3
@Joqus Preferirei suggerire di tenerlo come ramo in quel caso. Basta non pubblicarlo.
Jonas Schäfer,

Per ogni evenienza, se si desidera "unire completamente" il ramo prima di eliminarlo, è sufficiente spingere quel ramo dopo l'unione, ma prima di eliminare. Qualcosa di similegit checkout master && git merge branch1 && git push origin branch1 && git branch -d branch1
Avtomaton

25

Preferisco RENAME piuttosto che DELETE

Tutti i miei rami sono chiamati sotto forma di

  • Fix/fix-<somedescription> o
  • Ftr/ftr-<somedescription> o
  • eccetera.

Utilizzando Torre come il mio front-end git, organizza ordinatamente tutto il Ftr/, Fix/, Test/ecc in cartelle.
Una volta che ho finito con un ramo, li rinominare in Done/...-<description>.

In questo modo sono ancora lì (che può essere utile per fornire la cronologia) e posso sempre tornare indietro sapendo di cosa si trattava (funzionalità, correzione, test, ecc.)


4
Rinominate anche i rami remoti?
VitalyB,

22
Sembra ridondante mantenere questi rami e folle rinominarli . Mi sto perdendo qualcosa qui? Puoi sempre ricreare il ramo. stackoverflow.com/questions/3640764/...
ksav

non ha senso mantenere i rami dopo che sono stati fusi
rastaman,

2
+1 per l'idea di rinominare in Fix, Test and Done ... Mantenere le filiali è il modo in cui gli appaltatori vengono pagati sulla mia azienda.
jpfreire,

1

Se andrai avanti e ELIMINA il ramo dopo averlo unito.
Prenditi cura di
tutti i riferimenti agli URL dei collegamenti ipertestuali dei tuoi rami ELIMINATI, saranno BROKEN .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.