gpt4 book ai didi

git - 删除所有 git 提交的时间和时区,但保留日期

转载 作者:太空狗 更新时间:2023-10-29 14:27:44 26 4
gpt4 key购买 nike

我想删除已在存储库中创建的所有提交的时间,尤其是时区信息。那可能吗?如果不能,是否可以简单地将时间设置为 00:00 并将时区设置为 +0000
(顺便说一句,我想保留日期。这只是我不想要的时间和时区。)

我只找到关于 changing the author of all commits 的问题,但仅更改所有提交中的属性并保留剩余信息。

是的,我知道人们可以通过其他方式找到我住的地方等,但这对我来说已经足够了。

最佳答案

您不能“不存储时间”,但您始终可以将时间设置为 00:00,将 TZ 设置为 +0000。

对于新提交,最直接的方法是设置 GIT_COMMITTER_DATEGIT_AUTHOR_DATE 环境变量。例如在 bash 命令行你可以说

export GIT_COMMITTER_DATE="$(date +%Y-%m-%d) 00:00:00+0000"
export GIT_AUTHOR_DATE="$(date +%Y-%m-%d) 00:00:00+0000"

您需要确保在每天第一次提交之前执行此操作;也许通过将它添加到您的登录脚本或其他东西。

您的措辞表明您可能也有提交历史。这些也可以更改,例如通过使用 git filter-branchenv-filter 选项。请参阅 https://git-scm.com/docs/git-filter-branch 处的 filter-branch 文档有关其工作原理的详细信息。

但是,重要的是要了解这是一次历史重写——即您将用新的提交替换所有现有的提交,如果其他任何人共享此 repo,这会使它们处于需要恢复的损坏状态。 (请参阅 git rebase 文档中的“从上游 rebase 恢复”以了解将涉及的内容。)这真的没有办法解决 - 提交和作者日期是每个提交的组成部分。

关于git - 删除所有 git 提交的时间和时区,但保留日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51388004/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com