如何在git rebase中将默认命令更改为所有提交?

时间:2018-12-08 12:29:40

标签: git rebase

当您执行命令git rebase -i anotherBranch时,待办事项列表将显示,所有提交均标记为pick。

是否有一种方法可以默认使用所有提交而不是pick进行编辑?我知道在您的编辑器中使用replaceAll并不难,但是我想知道默认情况下是否有一种方法可以做到这一点。

甚至更好的是,打开默认的文本编辑器以显示所有标记为“编辑”的提交,而无需打开编辑器直接执行rebase,就好像所有提交都标记为“编辑”一样。

2 个答案:

答案 0 :(得分:5)

有关sequence.editor,请参见git config文档,

git -c sequence.editor='sed -i s/pick/edit/' rebase -i anotherBranch

GIT_SEQUENCE_EDITOR='sed -i s/pick/edit/' git rebase -i anotherBranch

是您想要的。

答案 1 :(得分:1)

您应该使用git filter-branch完成操作。

git filter-branch允许您“移动”所有提交,然后执行您想做的任何事情。使用filter-branch,您可以使用--amend或您希望执行的其他任何操作来编辑提交

# use the --index-filter instead of the --tree-filter for better performance
git filter-branch --index-filter