Cos'è un ramo git "stantio"?


133

Un ramo "stantio" git è un termine che ho sentito molto. So che ha qualcosa a che fare con i rami che sono considerati meno utili o inutili, ma non riescono a trovare una definizione esatta. Che cos'è un ramo git "stantio"?

Risposte:


96

Il riferimento più vecchio a "stantio" si trova in commit e194cd1 (gennaio 2007, Git 1.5.0), che ha rilevato " rami di tracciamento non aggiornati in remoto ": durante il tracciamento di un ramo che è stato rimosso dal sistema remoto.
Quindi git remote prune.

Questa è la definizione principale per ramo stantio: un ramo di tracciamento remoto (un riferimento locale di un ramo di repository remoto) che non tiene più traccia di nulla (perché il ramo effettivo sul repository remoto è scomparso).

git remote show è in grado di elencarli.


Per inciso, hai altre due definizioni di "stantio" nel sistema Git:

  • Un altro riferimento a "stantio" coinvolge git reflog --stale-fixin commit 1389d9d (Git 1.5.0), per il monitoraggio " broken commit ": un commit che non è raggiungibile da qualsiasi arbitri e c'è un oggetto mancante tra i commit, oggetti albero, o blob raggiungibile da esso che non è raggiungibile da nessuno dei riferimenti.
    Ciò aiuta a risolvere la situazione dopo aver eseguito un riconoscimento non reflog git pruneda un vecchio git in presenza di reflog.

  • Commit 740fdd2 (marzo 2008, Git 1.5.5) introduce anche "stantio" per i riferimenti simbolici , quando i riferimenti che indicano non esistono più.


Come menzionato da @SteelToe: la definizione di un ramo stantio, secondo la documentazione di GitHub , è un ramo che non ha avuto alcun commit nei 3 mesi precedenti.
Questo generalmente indica un ramo vecchio / non mantenuto / non corrente.


Ho visto questo quando stavo spingendo verso un'origine remota nuova di zecca, perché non aveva alcuno dei miei rami su di esso (ovviamente).
Noumenon,

"un ramo di tracciamento remoto" <- quando dici questo, mi viene da pensare che stai parlando di un ramo che esiste nel repository remoto, ma quello che vuoi dire è un ramo remoto che hai localmente localizzato prima, ma "il ramo reale sul repository remoto è sparito" giusto?
Miele

@Honey (qualche mese di ritardo) Sì, questa è l'idea. Ho aggiornato la risposta per aggiungere un collegamento che illustri cos'è un ramo di tracciamento remoto.
VonC,


17

Questo perché non esiste una "definizione esatta". "Stale git branch", "stale data", "stale configuration options" - nessuna di queste ha una definizione esatta , ma tutte si riferiscono a cose che sono considerate vecchie / non mantenute / non attuali / forse rotte.

Quindi un "ramo git stantio" è generalmente un ramo del repository che non è stato toccato da molto tempo. Forse è rotto, forse no; non è certamente attuale w / r / t per il ramo di sviluppo attivo, e nessuno lo ha guardato per un po '.


12
Su github, le filiali non aggiornate negli ultimi 3 mesi sono considerate obsolete
Ludovic Ronsin

3

Il ramo stantio è un ramo senza attività dopo qualche tempo. In Github è stantio dopo 3 mesi di inattività.

Ragioni, perché i progetti hanno rami stantii: caratteristiche inedite, prototipo, soluzione alternativa, incompleta, incompatibile.

leggi di più

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.