我希望能够在将提交消息推送到我的远程设备之前对其进行修改,但我希望自动执行此操作。
我可以通过以下方式改写所有额外的提交
git rebase -i origin/master
这会打开一个编辑器,我可以在其中将所有提交从 pick
更改为 reword
。然后它将调出编辑器,我可以在其中修改我的提交消息。
约束总结:
- 我不想将每次提交更改为
reword
。 - 我不想手动输入每个提交哈希值。
有没有办法像这样做 rebase ?
最佳答案
由于问题对编辑的性质有点含糊,这些只是您可以做什么的提示。
I don't want to have to change every commit to reword.
您可以更改 git-rebase -i
使用的编辑器与 git config sequence.editor 'sed -i s/pick/reword/'
,因此没有编辑器 pop rebase-todo,并且 picks 被替换。但这有点笨拙,因为你必须在之后取消配置。 (对于其他情况还有 core.editor
和 $EDITOR
)。
您还可以运行 git rebase origin/master -x 'git commit --amend'
. -x
添加 exec <argument of the -x>
, 每行后 pick
在 rebase-todo 中。注意没有 -i
这里需要。修改将允许您更改提交消息,例如 git commit --amend -m "new message"
.
I don't want to manually type in every commit I want to reword the message of.
您可以将 EDITOR 变量用于以您想要的方式进行编辑的非交互式命令,但我不知道您想进行哪种编辑。
I want to rebase all the new commits with something other than pick
查看之前的回答。
关于git - 自动改写所有重新提交的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38233988/