Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.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合并基础--分叉点<;参考>;他什么也不做_Git_Git Merge - Fatal编程技术网

git合并基础--分叉点<;参考>;他什么也不做

git合并基础--分叉点<;参考>;他什么也不做,git,git-merge,Git,Git Merge,我正在功能分支上运行此功能: git fetch origin git merge-base --fork-point origin/dev; echo $? git merge base命令以1退出,但日志记录为零stdout/stderr 我不明白为什么merge base命令不会生成ref,有人知道为什么会发生这种情况吗?中提到的注意事项是 需要注意的是,存储库中较旧的reflog条目可能会在git gc过期 如果B0不再出现在远程跟踪分支origin/master的reflog中,--

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

git fetch origin
git merge-base --fork-point origin/dev; echo $?
git merge base命令以1退出,但日志记录为零stdout/stderr

我不明白为什么
merge base
命令不会生成ref,有人知道为什么会发生这种情况吗?

中提到的注意事项是

需要注意的是,存储库中较旧的reflog条目可能会在
git gc
过期
如果
B0
不再出现在远程跟踪分支
origin/master
的reflog中,
--fork point
模式显然找不到它并失败,从而避免给出随机和无用的结果(例如B0的父级,就像没有
--fork point
选项的相同命令一样)

另外,您使用的
--fork point
模式的远程跟踪分支必须是您的主题从其提示中派生出来的分支
如果从比提示更旧的提交进行分叉,此模式将找不到分叉点(想象一下,在上面的示例历史中,
B0
不存在,
origin/master
B1
开始,移动到
B2
,然后是
B
,当
origin/master
B1
时,你在
origin/master^
处分出了
主题;历史的形状与上面相同,如果没有
B0
,则
B1
的父级是
git merge base origin/master topic
正确找到的,但是
--分叉点
模式将不会,因为它不是过去位于
origin/master
顶端的提交之一

您可以看到另外一个场景,
git merge base--fork point
不起作用。

演示当前文档。

请参阅上的fork-point文档底部的注意事项。在许多情况下,Git无法找到合适的基础。
         o---B2
        /
---o---o---B1--o---o---o---B (origin/master)
    \                   \
     B0                  D0'--D1'--D' (topic - updated)
      \
       D0---D1---D (topic - old)