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)