2012-11-01 4 views

答えて

12

日付は任意の順序である必要はありません。実際、Gitで簡単に日付を鍛えることができます。

おそらく、これはrebasingまたはチェリーピッキングによるものです。たとえば、私がしばしばやることは、ローカルで仕事をすることです。次にgit pull --rebase。その結果、私のコミットが今度はorigin/masterに導入されたコミットの子になるように履歴が書き直されますが、git rebaseはプロセス内のコミットの日付を変更しません。 git cherry-pickも同じ効果があります。

変更がコミットされた日付を表示する場合は、を入力してCommitDatesAuthorDatesを表示できます。これらは順番になる可能性が高くなりますが、ここでも保証はありません。

8

いいえ、必須ではありません。

Gitは2つの日付を追跡します。著者の日付は、元の著者がコミットしたときに述べられます。電子メールのパッチの場合は、電子メールの日付から取得される可能性があります。パッチは後で適用されるかもしれません。

コミットの日付は、コミットが行われたときに、その親が存在するときにのみコミットできることが多いため、しばしば順番になります。コミットがリベースまたはチェリーピックされた場合、新しいコミット日付が与えられますが、オリジナルの作成者日付は保持されます。しかし、コミット日付さえも、作成されたマシンのローカルシステム時刻から取得されるので、ローカルクロックが設定されたことが何であっても影響を受けます。一般的に、これがマシン間で正確か一貫性があるという保証はありません。

(両方の日付にタイムゾーン情報が含まれます)

+0

ありがとうございました。 git logを使って 'commit' date 'を順序どおりに表示する方法はありますか? – michael

+1

@michael: 'git log --pretty = fuller'です。 –

関連する問題