git AuthorDate が CommitDate と異なるのはなぜですか? 質問する

git AuthorDate が CommitDate と異なるのはなぜですか? 質問する

Git ログを調べたところ、いくつかのコミットの AuthorDate と CommitDate が若干異なっていることがわかりました。出力は次のようになりますgit log --pretty=fuller

commit 3a5912f90dc5227f308e99f95152fbee2301c59a
Author:     <hidden>
AuthorDate: Fri Jun 15 10:57:22 2012 +0800
Commit:     <hidden>
CommitDate: Fri Jun 15 11:14:37 2012 +0800

著者とコミットは同じです(私)。

どうしてこんなことが起こるのでしょうか? 私は何日も困惑していました。

他にもたくさんあります - 341 コミットのうち 17 コミットで発生しました:

+------------------------------+-------------------------------+
| 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           |
+------------------------------+-------------------------------+

ベストアンサー1

著者 日付このコミットが最初に行われたとき(つまり、 を終了したときgit commit)をメモします。git commitスイッチを使用して著者の日付を上書きできます--date

コミット日コミットが変更されるたびに変更されます。たとえば、コミットがあるブランチを別のブランチにリベースする場合などです(もっと)。

別のリポジトリにパッチを適用するためにコミットしてパッチを別のリポジトリに送信した場合も同じことが起こる可能性があります。作成者の日付はコミットの日付になりgit commit、コミットの日付はパッチが他のリポジトリに適用された日付に設定されます。

パッチを 2 人の同僚に送信した場合、作成日は 1 つになりますが、コミット日は 2 つ異なります。

これについては、Gitブック:

違いは何だろうと疑問に思うかもしれません。著者そしてコミッター著者パッチを最初に書いた人ですが、コミッター最後にパッチを適用した人です。つまり、あなたがプロジェクトにパッチを送信し、コアメンバーの1人がそのパッチを適用した場合、あなたは作者として、コアメンバーはコミッターとして、両方にクレジットが付与されます。

おすすめ記事