【发布时间】:2016-03-16 10:16:15
【问题描述】:
git branch --contains master 返回其提示 master 可到达的分支的名称。
git branch --merged master 返回可以从master 访问其提示的分支的名称。
git branch --no-merged master 返回无法从master 访问其提示的分支的名称。
什么标志(可能在较新版本的git 中?)显示分支的名称既不能从master 到达,也不能在他们自己的祖先中到达master?换句话说,什么标志产生--no-merged --no-contains的效果?
换句话说,如何显示既不能快进合并到master,又不能从master快进合并到它们的分支?
【问题讨论】:
-
@TimBiegeleisen,完全没有必要。尝试
git checkout -b divergent_branch master~3,然后提交,然后git log --online --graph master divergent_branch。master本身只是一个指向提交的可移动指针;仅仅因为一个分支与 master 共享历史并不意味着该分支完全包含 或 包含在master的历史中。 -
@TimBiegeleisen 也参见What exactly do we mean by "branch"? 当我说一个分支“包含另一个”时,我的意思是从分支指针可到达的历史 DAG 包括从另一个分支指针可到达的完整历史 DAG。跨度>
标签: git git-branch