发布于 2014-11-26 08:13:18
Git有一个独立的概念,即作者(编写代码的人)和提交人(将其提交到存储库的人)。同样,两者都有不同的日期。他们通常是一样的。
您可能希望它们是不同的,主要是如果编写代码或提交修补程序的人没有对存储库的推送访问权限,就像在使用邮件列表进行补丁提交的项目中那样。在这种情况下,具有push访问权限的人将应用该修补程序并运行git commit无论是在--author和--date开关或使用GIT_AUTHOR_NAME、GIT_AUTHOR_EMAIL和GIT_AUTHOR_DATE环境变量(在git-提交树中有文档说明)。
另一种情况是使用git cherry-pick或git重基。提交人是做樱桃挑选的人,作者是原始提交的作者。Git将为您处理设置作者身份和日期的问题。
您可以在使用git log --pretty=fuller的存储库中看到这些信息。
commit 21550561941b078ea1862b882ec89f26696ff5bb (HEAD, origin/master, origin/HEAD, master)
Author: thiagopnts <thiagopnts@gmail.com>
AuthorDate: Tue Nov 18 14:52:49 2014 -0200
Commit: Thiago Pontes <email@thiago.me>
CommitDate: Tue Nov 25 09:46:58 2014 -0200
open repository url if confirmed, closes #1发布于 2014-11-26 02:40:11
这看起来像是Git如何处理日期和如何在GitHub关闭关键字中引用它之间的混合。
Git将提交日期和作者日期分隔开来。在Pro Git 他们稍微了解了一下差别。中:
作者是最初写作品的人,而提交人是最后申请作品的人。因此,如果您向一个项目发送一个补丁,而其中一个核心成员应用了该修补程序,那么您两个都可以得到信任--您是作者,核心成员是提交者。
因此,虽然代码本身是在"7天前“(本地)提交/编写的,但它直到"14小时前”才被“应用”或修补到代码中,因为它在远程中直到引用的关闭消息才被看到。
https://webapps.stackexchange.com/questions/70383
复制相似问题