「gitlog」を実行すると、コミットの日付が乱れるのはなぜですか?
リポジトリの1つのブランチを見ています。日付は正しいはずですよね?
日付が任意の順序である必要があるという保証はありません。実際、Gitを使用して簡単に日付を偽造できます。
ただし、これはリベースまたはチェリーピッキングが原因である可能性があります。たとえば、私がよく行うことは、ローカルでいくつかの作業をコミットすることですgit pull --rebase
。その結果、履歴が書き換えられ、私のコミットはorigin/master
、その間に導入されたコミットの子にgit rebase
なりますが、プロセスのコミットの日付は変更されません。git cherry-pick
同じ効果があります。
変更がコミットされた日付を確認したい場合は、と同様git log --pretty=fuller
にを確認できます。これらは正常である可能性が高いですが、ここでも保証はありません。CommitDates
AuthorDates
No, not necessarily.
Git tracks two dates. The author date says when the original author made the commit. In the case of email patches it might be taken from an email date. The patch might be applied at a much later time.
The commit date is often in order as that says when a commit is made, and a commit can only be made when its parent exists. If a commit is rebased or cherry-picked it will be given a new commit date but the original author date will be preserved. However, even the commit date is taken from the local system time of the machine where it is made so it is subject to whatever the local clock happened to be set to. In general there's no guarantee that this will be accurate or consistent across machines.
(Both dates include timezone information.)