我经常使用“fixup!”,“squash!”和“rebase -i”来清理、纠正或修改最近未推送的历史记录。我想找到一种方式,让Git自动选择最合适的提交用于交互式变基,这样我就可以定义一个别名来快速进行交互式变基。
在这种情况下,我认为最好的提交是最近的祖先提交之一:
- 出现在任何其他分支(本地或远程)中 - 有多个父节点 - 没有父节点
第一个条件确保我不会重写可能影响他人的提交。第二个条件确保我不会试图通过合并进行变基,这绝对不是我想要的。第三个条件只是一个健全性检查。
那么问题是,我如何使用Git找到那个提交?
在这种情况下,我认为最好的提交是最近的祖先提交之一:
- 出现在任何其他分支(本地或远程)中 - 有多个父节点 - 没有父节点
第一个条件确保我不会重写可能影响他人的提交。第二个条件确保我不会试图通过合并进行变基,这绝对不是我想要的。第三个条件只是一个健全性检查。
那么问题是,我如何使用Git找到那个提交?
git rebase -i @{upstream}
或git rebase -i @{u}
来完成相同的操作。 - Parker Coates