Linux 如何在“提交”之后自动编辑提交;git rebase-i“是什么;?
我经常需要更改n次提交的日期。通常我会执行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
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)
,返回到通常的编辑器。这意味着您可以根据需要设置两个不同的自动编辑器(这允许您自动知道您是在编辑拾取序列还是在编辑提交消息)。