一旦修改或变更发生,git作者日期就会伪造

时间:2016-09-27 12:31:15

标签: git git-gui gitk

我在我的git历史中观察到一种奇怪的行为:

我可以使用git gui正常提交,并且在gitk中查看时,作者日期和提交者日期是正确的。

但是一旦我通过git bash通过git gui或rebase执行修改,所有后续提交都会使提交者日期正确,并且作者日期与上次提交之前相同重写过程 - 有时是过去几天。

当我关闭git-gui,gitk和他们的父git bash并重新打开它们时,下一次提交的日期再次正确 - 直到下一次rebase /修改

git-gui版本0.20.GITGUI(在Windows下使用)

git version 2.10.0.windows.1(x64 bit)

2 个答案:

答案 0 :(得分:1)

原因

这是由Git Gui(在Git for Windows> = v2.8.2.windows.1)中设置环境变量GIT_AUTHOR_NAMEGIT_AUTHOR_EMAILGIT_AUTHOR_DATE的错误引起的当你提出修改时。这些变量会覆盖任何创建提交的操作的所有作者设置,例如rebase,commit,merge等。

修复

这应该在G4W的下一个版本(v2.11.x?)中修复。

解决方法

在提交修改后立即关闭Git Gui。

答案 1 :(得分:-1)

此行为是设计使然。 Git具有作者日期和提交者日期的单独值。

作者日期反映了第一次创建此提交的时间,并保留。

每次修改,更改等时都会更新提交者日期。

要同时查看两者,请使用git log --pretty = fuller。

如果要重置作者时间,请执行git commit --amend --reset-author。