首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我怎么找到两个分支的共同祖先..。已经被合并了

我怎么找到两个分支的共同祖先..。已经被合并了
EN

Stack Overflow用户
提问于 2017-04-30 23:27:28
回答 2查看 2.3K关注 0票数 5

为了找到两个git分支的共同祖先,需要这样做:

代码语言:javascript
复制
git merge-base branch another_branch

好吧。但是..。如果这两个分支已经合并了怎么办?当我在这种情况下使用merge-base时,我得到的提交是合并之前的最新一次提交,我想知道两个分支在“合并之前”产生的共同祖先。

换言之:

代码语言:javascript
复制
Z - A - B - C - D - E - F
     \          /
      G - H - I 

HEAD在F.如果我在这里做git merge-base,我得到的提交是I,而我要找的是A,或者是Z.有什么git指令可以找到吗?

EN

Stack Overflow用户

发布于 2019-08-20 08:16:07

我通常需要在我的分支的尖端HEAD和远程主开发分支之间找到祖先,比如origin/dev。以下是我所用的:

代码语言:javascript
复制
git log --reverse --boundary --format=%h HEAD ^origin/dev | head -1

它实质上说:

  • 带走所有的祖先,除了那些和origin/dev一样常见的祖先
  • 包括边界(叉点)
  • 颠倒顺序,使分叉点成为列表中的第一个
  • 登录到只有SHA出现的格式
  • 把这个单子上的第一个拿出来
票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43712418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档