Sarebbe l'equivalente di creare un ramo, mentre si lavora con una testa staccata in Git?

1

Supponiamo di aver estratto una versione diversa da HEAD. Diciamo che ho fatto alcuni commit e così è stato creato un branch anonimo. Successivamente potrei aver controllato un altro ramo, quindi ora l'unico modo per ottenere i miei commit è tramite reflog . Se fai questo:

>> git reflog | grep -i mycommit
sha1hash
>> git branch reattaching
>> git cherry-pick hash_of_commits
>> git checkout master
>> git merge reattaching

È l'equivalente di:

   >> git reflog | grep -i mycommit
    sha1hash
   >> git branch reattaching sha1hash
   >> git checkout master
   >> git merge reattaching

Ciò che accade alla testa staccata si impegna, poiché penso che attraverso la selezione delle ciliegie, essi esisteranno in 2 punti. Rimarranno per sempre nel mio deposito?

    
posta Geo 26.06.2011 - 11:30
fonte

1 risposta

1

Dopo il cherry-picking, i vecchi commit saranno ancora lì, e non saranno eliminati mentre hai ancora un reflog che indica loro. Una delle cose che fa git-gc è rimuovere le vecchie voci da reflog-- quindi dopo 60 giorni, o qualsiasi altra cosa, quei commit diventeranno completamente penzoloni e otterranno GC'd.

    
risposta data 07.07.2011 - 02:01
fonte

Leggi altre domande sui tag