为什么 git 分支没有任何祖先

Why git branch without any ancestor

昨天下午,我的一所大学做了 git 提交,如下图所示。我想知道你怎么能在 git 做这么奇怪的事情。通常,每个分支都应该有一个以前存在的祖先分支。至少在我的理解中 git.

如何获得此 git 历史记录以及为什么它会有用?

But all branches after the first should have an ancestor.

否:您可以随时使用

创建一个或多个 orphan 分支
git checkout --orphan newbranch

在这个新分支上进行的第一次提交将没有父项,它将成为与所有其他分支和提交完全断开的新历史的根。

在你的情况下,检查远程回购端 4-x-dev-cam 分支的历史,看看它的历史是否以没有父项的提交开始。

why should this be useful

  • repo git 本身至少有一个孤立分支(在 master 旁边):todo branch,以保留不属于 [=40] 的管理脚本=] 来源自己。
  • 任何 GitHub page projects has at least another orphan branch (beside master): gh-pages,以便管理与您的项目关联的网站。

基本上,任何时候你需要在同一个 repo 中管理与你的主项目正交的内容(管理脚本,网站来说明你的项目,......),孤立分支是一个好方法隔离第二历史。

4-x-dev-cam 的情况下,一种可能的解释是从头开始对项目进行大规模重写。
在那种情况下,孤立分支也是将新历史与以前的分支分开的好方法。