Volevo controllare i commit a un ramo e ho visto che c'erano commit che appaiono in 2 rami.
Perché? Cosa significa?
@matisa considera git come un albero che cresce con ogni nuovo commit e ramo. Ogni ramo può avere molti commit e rami figlio, il che significa che i rami adjacents condivideranno sempre una discendenza comune.
Ora git può unire qualsiasi ramo figlio in uno dei suoi antenati, questo non significa che perderai quei commit intermedi dato che ogni commit è registrato, il che significa che abbiamo sempre un elenco di tutti i commit precedenti e quando possiamo unire qualsiasi testa (ramo infantile) per dire nei suoi nonni.
A -> A|B -> AB|C (merging C in A)
ABC -> A|B ( merged C in A)
git prende tutti quei commit che non erano presenti nel suo ramo di nonni che sono i commit di child + commits del genitore.
Che porta alla stessa cronologia di commit tra due rami. Pertanto, è abbastanza comune per i rami avere lo stesso commit nella loro cronologia
Ti consiglio vivamente di leggere su git qui
Penso che potresti aver eliminato il non-QA branch
alla fine dopo l'unione e questo è il motivo per cui mostra che esiste un solo ramo esistente ( QA
) alla fine. Tu o qualcun altro potresti anche eliminare il loro ramo non-QA
nel terzo all'ultimo commit dopo l'unione con QA
.
Leggi altre domande sui tag git