当您执行命令git rebase -i anotherBranch
时,待办事项列表将显示,所有提交均标记为pick。
是否有一种方法可以默认使用所有提交而不是pick
进行编辑?我知道在您的编辑器中使用replaceAll并不难,但是我想知道默认情况下是否有一种方法可以做到这一点。
甚至更好的是,打开默认的文本编辑器以显示所有标记为“编辑”的提交,而无需打开编辑器直接执行rebase,就好像所有提交都标记为“编辑”一样。
答案 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