git - 我如何自动确定最佳提交以进行交互 rebase ?

标签 git git-rebase git-interactive-rebase

我经常使用“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/

相关文章:

git - 列出分支包含的标签

git - 实现自定义 gitlab 钩子(Hook)时出现问题

git rebase 与分离分支的 git cherry-pick

git - 为什么交互式 rebase 将我的提交压缩在一起?

git - 压缩包含与主提交 merge 的多个提交

python - 如何使用 docker 将 django cookiecutter 项目上传和部署到 heroku?

git - 安装openstack时出错 : ./stack.sh:137:die

git - rebase 废墟 merge

git - 是否可以在不更改当前提交中的文件的情况下修改父提交?

git interactive rebase 压缩到下一次提交