如何更改 Git 中旧提交的时间戳(Git filter-repo)?

问题描述 投票:0回答:1

在这个问题中,有人在这篇帖子中用 git filter-branch 命令回答。但是,我想知道 git filter-repo 中的等效命令是什么,因为 git filter-branch 是旧的且缓慢的命令,而 git filter-repo 应该是替代品。有谁知道 git filter-repo 的等效项是什么?

git filter-branch --env-filter \
'if [ $GIT_COMMIT = 119f9ecf58069b265ab22f1f97d2b648faf932e0 ]
 then
     export GIT_AUTHOR_DATE="Fri Jan 2 21:38:53 2009 -0800"
     export GIT_COMMITTER_DATE="Sat May 19 01:01:01 2007 -0700"
 fi'
git filter git-filter-branch git-filter-repo
1个回答
0
投票

这是一个简单的通用算法,用于对提交进行更改,而不会影响文件系统的“状态”。非状态更改的示例包括提交作者、日期或提交消息。

查看您想要更改的提交。
  1. 按照您希望的方式修改它。 (就您而言,
  2. 也许是这个答案
  3. 。) 更换它:
  4. git replace <old-commit-id> <new-commit-id>
  5. 使所有替换永久化:
  6. git filter-repo --replace-refs update-or-add
  7. 
    
  8. 请注意,如果您没有新的克隆(强烈推荐),则需要在
--force

命令末尾添加

filter-repo
    

© www.soinside.com 2019 - 2024. All rights reserved.