You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

能否以GitHub作为代码创建时间的绝对证明?

能否以GitHub作为代码创建时间的绝对证明?

哎,这种情况真的太闹心了——我完全理解你们想拿GitHub的提交记录当证据的心情,但遗憾的是,没办法100%绝对证明代码的提交日期就是页面上显示的那个时间。

先给你拆解下为什么:

  • Git本身就支持自定义提交日期,你甚至可以在提交时直接用git commit --date="2024-01-01 10:00:00"这种命令,把提交时间改成任意过去的日期,然后正常推送到GitHub。
  • 就算是已经推上去的历史提交,也能通过git rebase修改提交时间,再用强制推送覆盖仓库里的记录——虽然这种操作会改写仓库历史,不推荐,但技术上完全可行。

GitHub上显示的提交时间,本质就是读取Git提交对象里带的日期字段,所以只要能修改Git里的这个字段,GitHub的显示就可以被伪造。你们教授说的确实没错,单纯靠GitHub的提交时间没法作为“绝对可靠”的证据。

不过如果你们想争取的话,可以试试找一些辅助佐证

  • 团队成员本地Git仓库的日志(只要本地没改过历史,本地的提交时间是原始的),截个图给教授看;
  • 当时讨论代码的聊天记录、截图,或者本地IDE的文件修改时间记录,这些都能从侧面证明你们在截止前完成了代码;
  • 如果你们是用自动化工具触发的提交(比如CI/CD),相关工具的运行日志里的时间戳也能作为额外的参考。

备注:内容来源于stack exchange,提问作者Stanley

火山引擎 最新活动