我经常使用“修复!”,“壁球!” 和“rebase -i”来清理、纠正或只是摆弄最近的、未推动的历史。我想找到一种方法让 Git 自动选择哪个提交对交互式 rebase 最有意义,这样我就可以定义一个别名来进行快速交互式 rebase。
我认为在这种情况下最好的提交将是最近的祖先:
- 出现在任何其他分支(本地或远程)
- 有不止一个父母
- 没有父母
第一个条件确保我不会重写可能影响其他人的提交。第二个确保我不会尝试“通过”合并来变基,这绝对不是我想要的。第三个只是一个健全性检查。
所以问题是,我如何使用 Git 找到那个提交?