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

标签 git git-branch

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

最佳答案

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

Which branch does this commit belong to?

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

考虑以下示例:

enter image description here

提交 F 目前只能从 bugfix 分支访问;在这一点上,可以说提交 F “属于” bugfix 分支。但是,如果您随后通过运行

bugfix merge 到 master
git checkout master
git merge bugfix

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

enter image description here

提交 F 不能再说属于 bugfix 而不是属于 master。 如果您随后删除 bugfix,提交 F 将再次只能从一个分支访问,这次是 master,在这种情况下,这样做是有意义的假设提交 F“属于”master


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

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

关于git - 来自已删除分支的提交属于哪个分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29257491/

相关文章:

git - 两个github帐户在同一台​​计算机上发生冲突

git - 安装 SubGit 存储库时跳过修订

git - 将 git 标签转换为分支

git - 移动分支,使其从 git 中的 master 分支出来

git - 如何将 'git pull' 放入不是当前分支的分支?

git - 在中止 git 中的当前更改后切换分支

git - 从 Bitbucket 历史中完全删除提交

php - 如何通过 WebDAV 部署 git 版本的 Web 应用程序?

git - 关于Git命令的困惑: git diff origin <branch> HEAD

git - 在 Git 中处理临时更改(不提交)