为什么这个较旧的 git 提交出现在顶部?
Why does this older git commit appear on the top?
考虑以下 git 日志。提交按日期排序。然而,有一个提交明显比其他提交更早,但仍然出现在顶部。
commit f9afb9e89918faaff09686ce1df4a36f12e82693
Author: Kshitiz Sharma
Date: Fri May 20 11:59:00 2016 +0100
Deleted tags
commit f3b90300799878178c09841ccac7ffcd4c9cc4d9
Author: Kshitiz.Sharma
Date: Fri Jun 10 13:00:32 2016 +0000
Refactor some code
git-svn-id: svn://1.1.1.1/myrepo@29029 ca623f4c-c864-0410-95d3-a40aa24e21c6
commit c98ad952b84403908ba656ab2f18af9a18a4f95c
Author: Kshitiz.Sharma
Date: Wed Jun 8 14:35:29 2016 +0000
Handle nullpointer exception
git-svn-id: svn://1.1.1.1/myrepo@29010 ca623f4c-c864-0410-95d3-a40aa24e21c6
为什么会这样?
提交日期并不决定它们的顺序。三种情况会导致过时的提交:
- 提交可能设置了假日期
- 提交可能来自不同的分支,并且可能是使用
merge
引入的(通常的 git log
不显示合并)。
- 提交可能已被
rebase
移动(在提交图中移动提交但保持原始日期不变)
根据你使用的 git-svn
的事实判断,它做了很多变基,我猜这是数字 3 的情况。
顶部的提交未转发到 SVN 存储库。它仅存在于 git。其他提交已发送到 SVN(使用 git svn dcommit
,如他们的 git-svn-id
所证明)。
当您使用 git svn rebase
从 SVN 中提取最新更改时,git-svn
会重新安排您的提交并将您的本地内容置于(线性)SVN 历史记录之上。 (也就是说,它实际上 rebases SVN 不知道的任何提交。)
变基只是重新排列历史。它不会更改提交日期。
考虑以下 git 日志。提交按日期排序。然而,有一个提交明显比其他提交更早,但仍然出现在顶部。
commit f9afb9e89918faaff09686ce1df4a36f12e82693
Author: Kshitiz Sharma
Date: Fri May 20 11:59:00 2016 +0100
Deleted tags
commit f3b90300799878178c09841ccac7ffcd4c9cc4d9
Author: Kshitiz.Sharma
Date: Fri Jun 10 13:00:32 2016 +0000
Refactor some code
git-svn-id: svn://1.1.1.1/myrepo@29029 ca623f4c-c864-0410-95d3-a40aa24e21c6
commit c98ad952b84403908ba656ab2f18af9a18a4f95c
Author: Kshitiz.Sharma
Date: Wed Jun 8 14:35:29 2016 +0000
Handle nullpointer exception
git-svn-id: svn://1.1.1.1/myrepo@29010 ca623f4c-c864-0410-95d3-a40aa24e21c6
为什么会这样?
提交日期并不决定它们的顺序。三种情况会导致过时的提交:
- 提交可能设置了假日期
- 提交可能来自不同的分支,并且可能是使用
merge
引入的(通常的git log
不显示合并)。 - 提交可能已被
rebase
移动(在提交图中移动提交但保持原始日期不变)
根据你使用的 git-svn
的事实判断,它做了很多变基,我猜这是数字 3 的情况。
顶部的提交未转发到 SVN 存储库。它仅存在于 git。其他提交已发送到 SVN(使用 git svn dcommit
,如他们的 git-svn-id
所证明)。
当您使用 git svn rebase
从 SVN 中提取最新更改时,git-svn
会重新安排您的提交并将您的本地内容置于(线性)SVN 历史记录之上。 (也就是说,它实际上 rebases SVN 不知道的任何提交。)
变基只是重新排列历史。它不会更改提交日期。