令人费解的'git merge-base'结果

时间:2017-09-13 05:06:28

标签: git

我有一个分支,其头部位于'65d26ca19a93a510356a9bf661213567b213c9e8'。

我无法理解为什么master和this commit之间的git merge-base指向这个提交本身。

$ git merge-base master 65d26ca19a93a510356a9bf661213567b213c9e8
65d26ca19a93a510356a9bf661213567b213c9e8

分公司负责人的家长如下:

$ git rev-list --parents -n1 65d26ca19a93a510356a9bf661213567b213c9e8
65d26ca19a93a510356a9bf661213567b213c9e8 febad34b7278dbbf7fd994192db6ae1f595288e6

我在同一个回购中有另一个分支,其头部位于'c1f9401c828160c20b38402852d502ae2fe41b7f'

对于这个分支,'git merge-base'返回预期结果(这是master分支中的提交),而'git rev-list'行为与我看到的分支中看到的相同

$ git merge-base master c1f9401c828160c20b38402852d502ae2fe41b7f
d3706c9e9447fea39a3f34087027fdbb6d561b2e


$ git rev-list --parents -n1 c1f9401c828160c20b38402852d502ae2fe41b7f
c1f9401c828160c20b38402852d502ae2fe41b7f d3706c9e9447fea39a3f34087027fdbb6d561b2e

1 个答案:

答案 0 :(得分:2)

$ git merge-base master 65d26ca19a93a510356a9bf661213567b213c9e8
65d26ca19a93a510356a9bf661213567b213c9e8

对于这种情况,有两种可能性。

  1. master指向65d26ca19a93a510356a9bf661213567b213c9e8
  2. 65d26ca19a93a510356a9bf661213567b213c9e8master
  3. 的祖先

    git log --oneline --graph --decorate master,检查您是否可以在列表中看到65d26ca

    您还可以65d26ca检查master是否可以访问git branch -a --contains 65d26ca