git 一旦修改或变基发生,作者日期就是假的
git author date bogus as soon as amend or rebase took place
我在 git 历史记录中观察到一个奇怪的行为:
我可以使用 git gui
正常提交,并且在 gitk
中查看作者日期和提交者日期是正确的。
但是一旦我通过 git gui 执行修改或通过 git bash 执行变基,所有后续提交的提交者日期都是正确的,作者日期是与上次提交相同在此重写过程之前 - 有时是几天前。
当我关闭 git-gui、gitk 及其父级 git bash 并重新打开它们时,下一次提交的日期再次正确 - up直到下一个 rebase/amend
git-gui 版本 0.20.GITGUI(在 Windows 下使用)
git 版本 2.10.0.windows.1(x64 位)
此行为是设计使然。 Git 作者日期和提交者日期有不同的值。
作者日期反映了第一次创建此提交的时间,并被保留。
提交者日期会在您每次修改、变基等时更新
要同时查看两者,git log --pretty=fuller。
如果你想重置作者时间,git commit --amend --reset-author.
原因
这是由 Git Gui(在 Git for Windows >=v2.8.2.windows.1)中设置环境变量的错误引起的GIT_AUTHOR_NAME
、GIT_AUTHOR_EMAIL
和 GIT_AUTHOR_DATE
当您提交并修改时。这些变量会覆盖任何创建提交的操作的所有作者设置,例如变基、提交、合并等。
修复
这应该会在 G4W 的下一个版本(v2.11.x ?)中修复。
解决方法
提交修改后立即关闭 Git Gui。
我在 git 历史记录中观察到一个奇怪的行为:
我可以使用 git gui
正常提交,并且在 gitk
中查看作者日期和提交者日期是正确的。
但是一旦我通过 git gui 执行修改或通过 git bash 执行变基,所有后续提交的提交者日期都是正确的,作者日期是与上次提交相同在此重写过程之前 - 有时是几天前。
当我关闭 git-gui、gitk 及其父级 git bash 并重新打开它们时,下一次提交的日期再次正确 - up直到下一个 rebase/amend
git-gui 版本 0.20.GITGUI(在 Windows 下使用)
git 版本 2.10.0.windows.1(x64 位)
此行为是设计使然。 Git 作者日期和提交者日期有不同的值。
作者日期反映了第一次创建此提交的时间,并被保留。
提交者日期会在您每次修改、变基等时更新
要同时查看两者,git log --pretty=fuller。
如果你想重置作者时间,git commit --amend --reset-author.
原因
这是由 Git Gui(在 Git for Windows >=v2.8.2.windows.1)中设置环境变量的错误引起的GIT_AUTHOR_NAME
、GIT_AUTHOR_EMAIL
和 GIT_AUTHOR_DATE
当您提交并修改时。这些变量会覆盖任何创建提交的操作的所有作者设置,例如变基、提交、合并等。
修复
这应该会在 G4W 的下一个版本(v2.11.x ?)中修复。
解决方法
提交修改后立即关闭 Git Gui。