当前位置: 首页 > 知识库问答 >
问题:

查找两个提交的第一个子项

戚飞雨
2023-03-14
           :
           A
T         / \
i        B   C
m        :   :
e        D   E
          \ /
|          F
V          :

Git merge-base B e允许查找两个共同祖先a的提交位置。是否有一种方法可以找到再次合并两个分支的commitf

共有1个答案

傅边浩
2023-03-14

哎呀。我读得不够仔细。

提交中的唯一信息是其父级(或多个父级)的id。您不能从父提交到子提交(这是存储库的定向部分,是DAG)。

再看这一点,git log的--ancestry-path选项就可以做到这一点。例如给定:

* 85d26ab When compiling vim, also compile & install gvim
*   3146e5d Merge remote-tracking branch 'origin/devel' into deve
|\
| * 28d08e5 rebasing-merge: specify all commits explicitly
* | 006d11d Help 'file' find its magic file
|/
* e68531d (tag: Git-1.7.6-preview20110720) Update submodules
git log --oneline --ancestry-path B..E
git rev-list --reverse --ancestry-path 28d08e5..006d11d | head -1
 类似资料:
  • 我在一个网站上有两个类似的表单,我想合并成一个有两个提交按钮的表单。他们使用大多数相同的数据。 第一个表单使用GET将数据发送到另一台服务器。第二个表单通过电子邮件发送。我想强烈鼓励网站用户在尝试选项二之前先使用选项一。 我知道如何使用javascript实现这一点,但不是以一种退化良好的方式。还有其他方法可以有两个提交选项吗?或者其他如何实现这一点的想法?谢谢

  • 我已经读过一些其他的堆栈溢出线程: 在java中求两个多集的交集 我如何获得两个数组之间的交集作为一个新数组? 我试图检查两个数组以及它们的元素数(numElementsInX和numElementsInY),并返回一个包含数组x和y的公共值的新数组。他们的交集。 编辑代码

  • 我试图从数据库中选择数据,更新每个对象,然后在项目管理器中更新数据库。 我试图在每次更新后刷新DAO,但没有任何改变。 该配置非常基本,有一个读写器,提交间隔为100。 读者正在按预期工作: 作者也很基本: 问题是,前100条记录已经提交,但其余的记录没有提交。Spring批处理表显示,它读取所有记录并多次提交,但当我签入数据库时,它只提交一次。 Spring batch的版本是2.2.6。 使现

  • 我有自己的观点; 我有自己的路线。php代码; 如果用户单击一个按钮,我希望他们调用ExcelController。如果是另一个,我要叫MapController。。。两个不同的控制器! 我的路线应该是什么?目前,当我单击其中一个时,它只会停留在当前页面上。

  • 我使用的是Laravel5.1,我想制作一个带有两个提交按钮的表单-保存和保存草稿。 但是当我发布表单时,除了提交值之外,我拥有所有字段。 我读到Laravel不会把提交按钮值在POST当表单通过ajax发送,所以你能帮我怎么做吗? 我已经尝试了下面的一些代码: 在我的路线上。我有: 提前感谢

  • 问题内容: 给定两个相等长度的字符串,是否有一种优雅的方法来获取第一个不同字符的偏移量? 显而易见的解决方案是: 但这对于如此简单的任务而言似乎并不正确。 问题答案: 您可以使用按位XOR()的一个不错的属性来实现此目的:基本上,当您将两个字符串异或时,相同的字符将变为空字节()。因此,如果我们对两个字符串进行异或运算,我们只需要使用以下命令找到第一个非空字节的位置: 这里的所有都是它的。因此,让