gpt4 book ai didi

git - 使用 'git filter-branch' 来更正最后 N 次提交中的提交者日期?

转载 作者:IT王子 更新时间:2023-10-29 00:59:14 26 4
gpt4 key购买 nike

我最近需要使用“git am”向我的存储库应用 16 个补丁,并且我小心翼翼地为每个补丁使用“--committer-date-is-author-date”。但是,我还需要为每个 am'd 补丁调整提交消息,并且——在我完成所有 16 个补丁之后——我发现“commit --amend”增加了每个补丁的提交者时间戳。

我最终了解到我的问题可以一举解决

git rebase --committer-date-is-author-date <SHA-of-commit-prior-to-patches>

但在尝试使用“filter-branch”解决我的问题之前,它没有用。我很好奇我做错了什么。这是我的尝试:

git filter-branch --env-filter \
'export GIT_COMMITTER_DATE=$GIT_AUTHOR_DATE' SHA1..HEAD

结果如下:

Rewrite 1c52265d1f06bd67e0fed1c09e1e75249424476e (1/15)/usr/lib/git-core/git-filter-branch: 1: export: -0500: bad variable name

我做错了什么?我不允许在 env-filter 中将一个变量设置/导出为另一个变量的值吗?请注意,如果 $GIT_COMMIT 与特定 SHA 匹配,我采用了有条件地更改 GIT_AUTHOR_DATE 和 GIT_COMMITTER_DATE 的方法,但在这种情况下,两个 GIT_*_DATE 变量都被设置为常量字符串,而不是另一个变量。

最佳答案

$GIT_AUTHOR_DATE 的值包含空格,因此您必须引用它(-0500 是您的时区偏移):

git filter-branch --env-filter \
'export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"' SHA1..HEAD

关于git - 使用 'git filter-branch' 来更正最后 N 次提交中的提交者日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24819850/

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