On Fri, Aug 12, 2022 at 7:11 PM Wang, Lei <lei4.wang@xxxxxxxxx> wrote: > > git log --numstat --since="2022-06-01" --until="2022-06-21" > --no-merges --format=%n%n%s%n%H%n%cs%n%an\<%ae > > The number of the commits in the output is slightly different. I didn't > do any sync operation in the repo, so the only reason I can found is > that maybe git log involves some stochastic operations, so each time the > output will be a little changed. Is my assumption right? The `--since` and `--until` date values use the *current time* if you do not specify an exact time. For instance, "yesterday" means "precisely 24 hours ago" (86400 seconds ago), and "--since 2022-06-01" means "since 1 June 2022 at whatever time of day it is right now". If you want commits with timestamps that are since *midnight* on that day, include the midnight part in the date. (This is probably a UX bug, of sorts: to mean "at now-oclock on a given date" we should probably have a syntax like "2022-06-21:(now)" and when a specific date is given, the default should be midnight for "since" and 23:59:59 for "until", or 23:59:60 if that's a leap-second date. But changing this is probably not in the cards.) Chris