首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git找到最后一次从A到B的合并

Git找到最后一次从A到B的合并
EN

Stack Overflow用户
提问于 2021-01-11 08:14:54
回答 1查看 64关注 0票数 3

我有一些客户分支机构和一个开发分支机构。客户分支不时地被合并回开发分支。对于Update,开发分支被合并到获得Update的customer分支中。

现在我想知道,最后一次更新合并是什么,或者开发和客户分支之间的最后一次合并是什么。

例如,如果我有以下历史记录:

代码语言:javascript
复制
  o---o---o---o---o---o        c1
 /             \   
o---1---o---2---o---o---3---o  dev
     \     / \     /   /
      o---o---o---o---o---o    c2

在本例中,我希望找到从devc2的最后一次合并,即2。

我从git merge-base中找到了this answer,但这给了我3,因为这是两个分支中的最后一个提交。

我还试着查看提交,它在dev中,而不是在c2中,但是我也从c1那里得到了很多旧的提交。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-11 09:09:59

Commit 2是最近的提交,这两者都是:

dev

  • an分支c2

祖先的first-parent祖先

您可以通过将git命令与grep和head相结合来识别它:

代码语言:javascript
复制
# two lines and a temp file :

# 1. list the hashes of 'first-parent' commits from branch 'dev' :
git rev-list --first-parent dev > /tmp/dev.log.txt

# 2. in the parents of branch 'c2', look for the first line which matches a
#    first-parent of 'dev'
git rev-list c2 | grep -f /tmp/dev.log.txt | head -1


# one liner ('<(...)' works in bash and zsh) :
git rev-list c2 | grep -f <(git rev-list --first-parent dev) | head -1
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65663358

复制
相关文章

相似问题

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