git - 自动改写所有重新提交的提交

标签 git bash

我希望能够在将提交消息推送到我的远程设备之前对其进行修改,但我希望自动执行此操作。

我可以通过以下方式改写所有额外的提交

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/

相关文章:

bash - 如何批量处理 mp4 文件目录以删除其元数据?

git - 添加了带有 'git add' 的文件,但未反射(reflect)在 'git diff' 中

git - 我应该多久将 master 上提交的更改 merge 到我的其他 git 分支?

windows - 从 Mercurial 迁移后,Git 在 Windows 11 上无法正确识别带变音符号的文件

bash - 按字面意义将文本写入文件,包括特殊字符

linux - 创建 Zip 文件 Fedora 17

windows - 通过启动脚本打开 Powershell 窗口时会去哪里?

linux - 如何导出计算节点的路径,并行编程

git - 如何对私有(private) jelastic 环境进行版本控制

node.js - 从硬盘安装自定义 Nodejs 模块