Rya*_*ell 10 git git-filter-branch
我最近需要使用'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>
Run Code Online (Sandbox Code Playgroud)
但是在尝试使用'filter-branch'来解决我的问题之前没有这个问题.我很好奇我做错了什么.这是我的尝试:
git filter-branch --env-filter \
'export GIT_COMMITTER_DATE=$GIT_AUTHOR_DATE' SHA1..HEAD
Run Code Online (Sandbox Code Playgroud)
这是结果:
Rewrite 1c52265d1f06bd67e0fed1c09e1e75249424476e (1/15)/usr/lib/git-core/git-filter-branch: 1: export: -0500: bad variable name
Run Code Online (Sandbox Code Playgroud)
我做错了什么?我不允许在env-filter中设置/导出一个变量作为另一个变量的值吗?请注意,如果$ GIT_COMMIT匹配特定SHA,我会从有条件地更改GIT_AUTHOR_DATE和GIT_COMMITTER_DATE的方法调整我的方法,但在这种情况下,两个GIT _*_ DATE变量都被设置为常量字符串,而不是另一个变量.
kni*_*ttl 18
$GIT_AUTHOR_DATE包含空格的值,因此您必须引用它(-0500是您的时区偏移量):
git filter-branch --env-filter \
'export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"' SHA1..HEAD
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2884 次 |
| 最近记录: |