Git 以与通常顺序相反的方式显示交互式变基待办事项列表(由
git rebase -i
生成)中的提交:最祖先的提交(通常是最旧的提交)首先显示,而不是最后。
为了与
git log
通常的排序顺序保持一致,我可以用相反的方式得到它吗?也就是说,我希望待办事项列表以默认排序顺序 git log
显示,并且我希望待办事项列表在我编辑后仍能被 Git 理解,而不必手动重新反转它.
您可以使用自定义
sequence.editor
配置:
git -c sequence.editor='tac "$1" > "$1.reverse" && "$(git config core.editor || echo "${GIT_EDITOR:-vim}")" "$1.reverse" && tac "$1.reverse" > "$1"' rebase -i ...
为此配置可重用别名并使用它很容易:
git config alias.revbase "!git -c sequence.editor='tac \"\$1\" > \"\$1.reverse\" \
&& \"\$(git config core.editor || echo \"\${GIT_EDITOR:-vim}\")\" \"\$1.reverse\" \
&& tac \"\$1.reverse\" > \"\$1\"' rebase -i"
git revbase @~10