已删除分支的提交属于哪个分支?

6
如果我将分支A合并到分支B中,然后删除A,那么来自已删除的A分支的提交属于哪个分支?

记住在Git中,“分支”只是指向提交的指针是有帮助的。所有“在分支上”的提交都是从该提交可达的。 - Captain Man
1个回答

13

Git分支只是指向提交的指针。询问“这个提交属于哪个分支?”在一般情况下并没有意义,因为提交可能从多个分支(甚至一个也没有)到达。

考虑以下示例:

enter image description here

提交F目前仅从bugfix分支可达;此时说提交F“属于”bugfix分支是有意义的。然而,如果您运行以下命令将bugfix合并到master中:

git checkout master
git merge bugfix

那么,在这两个分支中都可以到达提交F

enter image description here

提交F不再只属于bugfix分支,同样也属于master分支。 如果您随后删除bugfix,提交F将再次仅从一个分支(这次是master)可到达,这时说提交F“属于”master是有意义的。


总之,提交通常不能被视为“专属于”任何一个分支。但是,总是有一个问题是有意义的:

从哪些分支(如果有)可到达此提交?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接