Przeszukuję dzienniki git i stwierdzam, że AuthorDate i CommitDate są nieco inne dla niektórych moich zatwierdzeń:
commit 3a5912f90dc5227f308e99f95152fbee2301c59a
Author: <hidden>
AuthorDate: Fri Jun 15 10:57:22 2012 +0800
Commit: <hidden>
CommitDate: Fri Jun 15 11:14:37 2012 +0800
Autor i Commit to ta sama ja.
Jak to się stało? Jestem zdziwiony od wielu dni.
Jest ich więcej (dzieje się w 17 z 341 zatwierdzeń):
+------------------------------+-------------------------------+
| from_unixtime(authored_date) | from_unixtime(committed_date) |
+------------------------------+-------------------------------+
| 2012-06-15 10:57:22 | 2012-06-15 11:14:37 |
| 2012-06-15 14:39:54 | 2012-06-15 14:48:57 |
| 2012-06-19 12:28:21 | 2012-06-19 12:29:41 |
| 2012-06-21 18:16:25 | 2012-06-21 18:28:48 |
| 2012-06-26 17:30:54 | 2012-06-26 17:33:55 |
| 2012-07-13 11:41:43 | 2012-07-13 11:42:17 |
| 2012-07-13 11:56:02 | 2012-07-13 12:13:22 |
| 2012-07-13 12:05:09 | 2012-07-13 12:12:24 |
| 2012-07-12 18:38:49 | 2012-07-13 12:26:35 |
| 2012-07-13 11:00:47 | 2012-07-13 12:25:15 |
| 2012-07-16 14:10:54 | 2012-07-16 14:15:01 |
| 2012-07-13 12:56:51 | 2012-07-16 13:49:48 |
| 2012-07-16 14:10:54 | 2012-07-16 14:19:46 |
| 2012-07-24 16:05:05 | 2012-07-24 16:05:48 |
| 2012-07-24 17:42:58 | 2012-07-24 17:43:33 |
| 2012-07-24 17:42:58 | 2012-07-24 17:45:18 |
| 2012-07-26 16:55:40 | 2012-07-26 16:55:53 |
+------------------------------+-------------------------------+
git logdomyślnie pokazuje tylko datę zatwierdzenia autora. Ale jeśli używasz --since, --until, --before, --after, terminy względne, git używa committer datę popełnienia zamiast! git log --since="yesterday"mogą nie wykazywać oczekiwanych rezultatów, jeśli Autor popełnić data różni się od committer datę popełnienia.
git --squash mergejest dość powszechną strategią scalania, którą można skonfigurować (chociaż nie wygląda na to, że jest tutaj używana, została omówiona dla przykładu). Ponadto, jeśli git jest używany przez IDE lub git GUI, istnieje możliwość konfiguracji / funkcjonalności nieobecnej w CLI. Warto dwukrotnie sprawdzić, do czego jest skonfigurowane scalanie w środowisku, w którym jest ono wykonywane.