【问题标题】:Is there a way to see the original Git commit time after changing it?有没有办法在更改后查看原始 Git 提交时间?
【发布时间】:2021-06-24 23:19:09
【问题描述】:

我有一个在晚上 11:59 到期的大学项目,需要提交一个 git 存储库。我不希望任何标记我的作业的人看到我在到期日开始,所以我使用了 git-redate 工具大约一周前设置我的提交。有什么方法可以让标记看到我更改了日期或看到原始日期?很抱歉英语不是我的母语。

【问题讨论】:

  • 只要及时提交,最后一天开始(提交)有什么问题?
  • @knittl 我觉得这很尴尬,现在我很好奇未来是否有可能
  • 每次提交都有 2 个日期。作者日期和提交日期——不多也不少。如果您想查看它们是什么,请使用git show --summary --pretty=fullergit log --pretty=fuller
  • 就我个人而言,如果我不得不伪造我提交的任何部分,我会觉得更尴尬,更糟糕的是,被点名。

标签: git timestamp git-commit


【解决方案1】:

考虑git-redate includes

export GIT_AUTHOR_DATE="$DATE_NO_SPACE"
export GIT_COMMITTER_DATE="$DATE_NO_SPACE";

这意味着它同时更改了作者提交者日期:在这样的操作之后您将看不到原始日期。

只要该存储库没有其他副本/克隆,原始日期将不可见。
除非,如评论所述,制造商确实有权访问您的本地克隆存储库(通过git reflog)。如果所述本地存储库在您的个人笔记本电脑上,那不太可能。
您可以force a git gc 清理所有内容。

【讨论】:

  • 当然,除非您在运行git-redate 后压缩.git 文件夹。存储库可能仍然具有可通过 reflog 访问的旧提交,或者处于“悬空”状态。您需要确保首先清理所有这些旧对象(gc?reflog expire?prune?最简单的是创建一个新的克隆)
  • @knittl 同意。 OP 是“有什么方法可以让标记看到我更改了日期或查看原始日期?”:这意味着制造商确实可以访问该文件夹。情况可能并非如此。
猜你喜欢
  • 2011-02-13
  • 2011-02-17
  • 2018-10-24
  • 1970-01-01
  • 2023-02-14
  • 2021-04-22
  • 1970-01-01
  • 2015-12-04
  • 2019-02-18
相关资源
最近更新 更多