2015-06-08 24 views
13

Per ottenere i commit dopo una data specifica. Posso farlo:ottiene commit da una data specifica in git in base alla data di commit

git log <ref> --since=<date> --pretty=format:%ci 

Questo sembra elencare i commit in base alla data dell'autore. Come posso ottenere un commit dopo una data specifica in base al tempo di commit? Posso analizzare l'output di sopra cmd per ottenere ciò che desidero, tuttavia mi chiedevo se c'è un modo migliore per farlo.

+1

possibile duplicato di [Come configurare 'git log' per mostrare 'data di commit'] (http://stackoverflow.com/questions/14243380/how-to-configure-git-log-to-show-commit- data) –

+1

Sì, posso analizzare l'output del cmd nella domanda e il filtro esegue il commit in base alla data di commit. C'è un modo migliore per farlo però? –

+0

Guardando attraverso il codice il mio take iniziale è "non puoi", ma sembra una grande opportunità per presentare una patch per git :) – larsks

risposta

5

La query non è chiaro per me, ma vorrei rispondere con la migliore della mia comprensione: come sappiamo, con rif: http://git-scm.com/docs/pretty-formats

%ai: author date, ISO 8601-like format 
%ci: committer date, ISO 8601-like format 

È questo di alcun aiuto? Utilizzo di - dopo e - prima per ottenere risultati intermedi. Come di seguito utilizza stessa data con risultati tra il tempo (10:36-16:50 del 22 giugno 2015) con % CI per la data committer

git log --after="2015-06-22T10:36:00-07:00" --before="2015-06-22T16:50:00-07:00" --pretty=format:%ci 
2

credo che ci sia alcun modo di modificare qui git log qui poiché è implementato internamente da usare commettere data per before, after, since, until parametri. In generale, la strategia predefinita di Git per confrontare le date è data da data di commit.

0

Se si utilizza% cr anziché% CI, almeno hai solo riferimenti temporali. Ma sono relativi, come "2 ore fa".