当前位置: 首页 > 工具软件 > Docs-base > 使用案例 >

git 命令之git merge-base

杜阳炎
2023-12-01
  1. 基础用法
git merge-base $branch1 $branch2
  1. 描述
    git merge-base 用一种三路合并的方法来查找两个提交的共同祖先;一对提交有可能有不止一个共同祖先,越晚的共同提交越好;

  2. 进阶使用

git merge-base [-a|--all] <commit> <commit>…​
git merge-base [-a|--all] --octopus <commit>…​
git merge-base --is-ancestor <commit> <commit>
git merge-base --independent <commit>…​
git merge-base --fork-point <ref> [<commit>]
  • –octopus 计算所有提供的提交的最佳公共祖先,为n路合并做准备
  • –independent 不是打印merge base,而是打印具有相同祖先的提交的最小子集。换言之,在给定的提交中,列出无法从任何其他方获得的提交。
  • –is-ancester 检查第一个提交是否是第二个提交的祖先,如果是,返回0,如果不是则返回1,结果错误即返回非0非1的状态码;
  • –fork-point
    找到一个分支从另一个分支分叉的点。这不仅要寻找两个提交的共同祖先,还要考虑到的reflog,以查看导致的历史是否从分支的早期化身派生
  • -a --all Output all merge bases for the commits, instead of just one.
更多详情请参考[官方文档](https://git-scm.com/docs/git-merge-base);
 类似资料: