Linux 如何在“提交”之后自动编辑提交;git rebase-i“是什么;?

Linux 如何在“提交”之后自动编辑提交;git rebase-i“是什么;?,linux,git,Linux,Git,我经常需要更改n次提交的日期。通常我会执行git rebase-I@~20,然后在编辑器中手动将pick更改为edit,然后在循环中运行commit--amend,并使用所需日期修改。这一切都很好地工作,但我想自动化这个过程,这样编辑器就不会被调用 问题是:如何在git-rebase之后自动切换到“编辑模式”?您可以编写一个脚本,它的行为类似于一个编辑器,并执行您想要的操作(它将被一个临时文件调用,应该修改它),然后使用它运行rebase-编辑器=/path/to/your/script-git

我经常需要更改n次提交的日期。通常我会执行
git rebase-I@~20
,然后在编辑器中手动将
pick
更改为
edit
,然后在循环中运行
commit--amend
,并使用所需日期修改。这一切都很好地工作,但我想自动化这个过程,这样编辑器就不会被调用


问题是:如何在
git-rebase
之后自动切换到“编辑模式”?

您可以编写一个脚本,它的行为类似于一个编辑器,并执行您想要的操作(它将被一个临时文件调用,应该修改它),然后使用它运行rebase-
编辑器=/path/to/your/script-git-rebase-I@~20


此外,出于好奇,您可能希望查看

中建议的
git过滤器分支
方法:为什么您经常需要更改提交日期?这是所问问题的正确答案(而且
filter branch
也可能是更好的选择!)。我只想再补充一点:rebase的指令经过
${GIT\u SEQUENCE\u EDITOR}
,默认为
$(GIT config--get SEQUENCE.EDITOR)
,返回到通常的编辑器。这意味着您可以根据需要设置两个不同的自动编辑器(这允许您自动知道您是在编辑拾取序列还是在编辑提交消息)。