Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git-获取连接到B的A的直接后代_Git_Ancestor - Fatal编程技术网

git-获取连接到B的A的直接后代

git-获取连接到B的A的直接后代,git,ancestor,Git,Ancestor,是否有可能获得A的直系后代(即B的直系祖先)的修订列表?我尝试git log A..B我将得到B的祖先的修订列表,这些修订不在A的历史中,这不是我想要的。我只需要直接连接A和B的版本。是:将--祖先路径添加到您的版本规范中。(这适用于任何使用提交图遍历的命令,包括git log和git rev list),但我要指出的是,我不确定这里的形容词“direct”是什么意思 请注意,A..B表示B^A,即使用集合祖先(B)-祖先(A)(这里的减法是集合减法)。添加--祖先路径意味着在执行集减法(或者更

是否有可能获得A的直系后代(即B的直系祖先)的修订列表?我尝试
git log A..B
我将得到B的祖先的修订列表,这些修订不在A的历史中,这不是我想要的。我只需要直接连接A和B的版本。

是:将
--祖先路径
添加到您的版本规范中。(这适用于任何使用提交图遍历的命令,包括
git log
git rev list
),但我要指出的是,我不确定这里的形容词“direct”是什么意思

请注意,
A..B
表示
B^A
,即使用集合
祖先(B)-祖先(A)
(这里的减法是集合减法)。添加
--祖先路径
意味着在执行集减法(或者更准确地说,在构造减法集时),Git还将减去任何不是否定版本
a
后代的提交

在内部,Git通过使用名为BOTTOM的标志标记否定的提交哈希ID(如
A..B
中的
A
B^A
)来实现这一点。这样的提交被收集到一个“底部列表”中,Git确保可能在
a..B
范围内的每个提交C都有一个底部提交作为其祖先之一。如果您使用
git rev list--祖先路径X^Y^Z
例如:提交可以是
Y
Z
的后代,那么这一点很重要\


下面是一个示例图片段,显示选择了哪些提交(
)或未选择(
)即使它们“在”A..B的范围内:

...--A--●---●--B--...
   \  \    /
    ○--●--●

请注意,提交
A
未被选中,而提交
B
已被选中,在这里。

尚未对其进行检查,但听起来像是我的答案,因此将其标记为这样。谢谢