131

gitログを検索すると、一部のコミットでAuthorDateとCommitDateがわずかに異なることがわかりました。

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

3 に答える 3

190

作成者の日付は、このコミットが最初に行われたとき (つまり、 を終了したときgit commit) を示します。のドキュメントによるとgit commit、作成者の日付はスイッチを使用してオーバーライドできます--date

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

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

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

これは、Git Bookにも記載されています。

authorcommitterの違いについて疑問に思われるかもしれません。作成者は最初にパッチを作成した人であり、コミッター最後にパッチを適用した人です。したがって、プロジェクトにパッチを送信し、コア メンバーの 1 人がそのパッチを適用した場合、あなたは作成者として、コア メンバーはコミッターとして、両方に功績が認められます。

于 2012-08-08T03:55:22.933 に答える