2012-11-01 10 views

risposta

12

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.

8

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.)

+0

Grazie. Come posso visualizzare la data di 'commit' in modo ordinato usando git log? – michael

+1

@michael: 'git log --pretty = fuller'. –

Problemi correlati