Py学习  »  Git

git merge base--fork point<ref>未生成任何内容

Alexander Mills • 5 年前 • 329 次点击  

我正在一个功能分支上运行此功能:

git fetch origin
git merge-base --fork-point origin/dev; echo $?

这个 git merge-base 命令以1退出,但记录零stdout/stderr。

我不明白为什么 merge-base 指挥部不会给裁判,有人知道为什么会这样?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30665
 
329 次点击  
文章 [ 1 ]  |  最新文章 5 年前
VonC
Reply   •   1 楼
VonC    5 年前

注意事项 torek 是其中的一部分 git merge-base discussion on fork-point mode .

         o---B2
        /
---o---o---B1--o---o---o---B (origin/master)
    \                   \
     B0                  D0'--D1'--D' (topic - updated)
      \
       D0---D1---D (topic - old)

警告是 存储库中较旧的reflog条目可能在以下时间到期 git gc .
如果 B0 不再出现在远程跟踪分支的重新记录中 origin/master , the --fork-point 模式显然找不到它并且失败了,避免给出随机的和无用的结果(例如b0的父级,就像没有 --叉点 选项给出)。

也, 使用的远程跟踪分支 --叉点 模式必须是主题从其尖端分叉的模式。 .
如果您从比提示更旧的提交分叉,则此模式将找不到分叉点(请想象在上面的示例历史中 B0 不存在, 起源/大师 开始于 B1 搬到 B2 然后 B 你把你的 topic origin/master^ 什么时候 起源/大师 地下一层 ;历史的形状与上面一样,没有 B0 以及 地下一层 是什么 git merge-base origin/master topic 正确的发现,但是 --叉点 模式不会,因为它不是以前处于 起源/大师 )

您可以看到其他场景,其中 git merge-base --fork-point 不工作 in this thread .
This patch series 说明当前文档。