我经常使用“fixup!”、“squash!”和“rebase -i”来清理、更正或只是摆弄最近的、未推送的历史记录。我想找到一种方法让 Git 自动选择哪个提交对交互式 rebase 最有意义,这样我就可以定义一个别名来进行快速交互式 rebase 。
我认为在这种情况下最好的提交是最近的祖先:
- 出现在任何其他分支(本地或远程)
- 有不止一个 parent
- 没有 parent
第一个条件确保我不会重写可能影响其他人的提交。第二个确保我不会尝试“通过” merge 来 rebase ,这绝对不是我想要的。第三个只是健全性检查。
所以问题是,我如何使用 Git 找到该提交?
最佳答案
不完全是您要查找的内容,但调用 git rebase
而不提供起始点将使 rebase 从上游分支开始,这在大多数情况下是一个完美的选择。进一步 rebase 会导致您重写已发布的历史,这绝不是一个好主意。
关于git - 我如何自动确定最佳提交以进行交互 rebase ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13974381/