Quando eseguo un "log git", perché la data dei commit è fuori servizio?Perché la data dei commit nel log di git è fuori servizio?
Sto guardando 1 ramo del mio repository. la data dovrebbe essere in ordine, giusto?
Quando eseguo un "log git", perché la data dei commit è fuori servizio?Perché la data dei commit nel log di git è fuori servizio?
Sto guardando 1 ramo del mio repository. la data dovrebbe essere in ordine, giusto?
Non è possibile garantire che le date debbano essere in qualsiasi ordine. In effetti, puoi facilmente creare date con Git.
Molto probabilmente, questo è dovuto allo rebasing o al cherry-picking. Ad esempio, quello che faccio spesso è di lavorare a livello locale, quindi a git pull --rebase
. Il risultato è che la cronologia viene riscritta in modo che i miei commit siano ora figli dei commit che sono stati introdotti in origin/master
nel frattempo, ma git rebase
non modifica la data dei commit nel processo. git cherry-pick
ha lo stesso effetto.
Se si desidera visualizzare le date di attivazione delle modifiche, è possibile fare git log --pretty=fuller
per vedere CommitDates
e AuthorDates
. È più probabile che siano in ordine, ma anche qui non c'è alcuna garanzia.
No, non necessariamente.
Git traccia due date. La data dell'autore dice quando l'autore originale ha fatto il commit. Nel caso di patch e-mail potrebbe essere preso da una data e-mail. La patch potrebbe essere applicata in un momento successivo.
La data di commit è spesso nell'ordine in cui viene indicato quando viene eseguito un commit e un commit può essere eseguito solo quando esiste il padre. Se un commit viene ridefinito o selezionato, verrà assegnata una nuova data di commit ma la data dell'autore originale verrà mantenuta. Tuttavia, anche la data di commit viene prelevata dall'ora di sistema locale della macchina in cui è stata creata, quindi è soggetta a qualunque sia l'ora in cui è stato impostato l'orologio locale. In generale, non è garantito che ciò sia accurato o coerente tra le macchine.
(Entrambe le date includono le informazioni sul fuso orario.)
Grazie. Come posso visualizzare la data di 'commit' in modo ordinato usando git log? – michael
@michael: 'git log --pretty = fuller'. –