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

Which branch do commits from a deleted branch belong to?

如果我将分支A合并到分支B,然后删除A,分支A(现已删除)的提交属于哪个分支?

Git 分支只是指向提交的指针。问

Which branch does this commit belong to?

确实没有意义(至少,在一般情况下没有),因为很可能可以从多个分支(甚至根本 none 访问提交!)。

考虑以下示例:

提交 F 目前只能从 bugfix 分支访问;在这一点上,说提交 F "belongs" 到 bugfix 分支是有意义的。但是,如果您随后将 bugfix 合并到 master,由 运行

git checkout master
git merge bugfix

然后提交 F 可以从这两个分支访问:

提交 F 不能再说属于 bugfix 而不是属于 master。 如果您随后删除 bugfix,提交 F 将再次只能从一个分支访问,这次是 master,在这种情况下,提交 F "belongs" 到 master.


总而言之,一般来说,提交不能被认为是独占属于任何一个分支。然而,一个总是有意义的问题是

From which branches (if any) is this commit reachable?