我希望能够在将它们推送到我的遥控器之前修改我的提交消息,但我想自动执行此操作.
我可以通过执行来重新编写所有其他提交
git rebase -i origin/master
Run Code Online (Sandbox Code Playgroud)
这会打开一个编辑器,我可以将所有提交更改pick为reword.然后它将调出编辑器,我可以在其中修改我的提交消息.
约束摘要:
reword.有没有办法做这样的rebase?
由于编辑的性质有点模糊,这些只是你可以做什么的线索.
我不想将每个提交更改为reword.
您可以更改git-rebase -iwith 使用的编辑器git config sequence.editor 'sed -i s/pick/reword/',这样就不会为rebase-todo弹出编辑器,并且会替换选择.但这有点笨拙,因为你必须在之后取消配置.(还有core.editor其他情况,和$EDITOR).
你也可以跑git rebase origin/master -x 'git commit --amend'.在rebase-todo中-x添加exec <argument of the -x>一行后的行pick.注意这里没有-i必要.例如,修改将允许您更改提交消息git commit --amend -m "new message".
我不想手动输入我想要重写消息的每个提交.
您可以将EDITOR变量用于以您希望的方式编辑的非交互式命令,但我不知道您想要进行哪种编辑.
我想用除了pick之外的东西来重新定义所有新提交
见前面的答案.