我的分支是否总是在 Git 中从 master 分支创建?

Will my branch always be created off of the master branch in Git

当我在 Git 中创建分支时,我必须在 master 分支上吗?还是会自动从 master 创建分支?

例如,如果我在一个名为 "branch1" 的分支上,并且我创建了一个这样的分支:

git branch branch2
git checkout branch2

branch2 是否包含 branch1 的内容,还是主分支的副本?

如果 branch2 是从 branch1 创建的,如果我将 branch1 和 branch2 合并到 master 中,我会 运行 发生冲突吗?

分支将基于其来源 -- 因此在这种情况下,在您开始编辑之前,branch2 将与 branch1 相同。

git branch 将从活动分支创建一个分支。在您的情况下,它将从 branch1.

分支出来

每当您要合并的分支更改同一文件的完全相同部分时,您将 运行 陷入冲突。如果是这样,那么您将无法自动合并。

从技术上讲,分支不是基于分支,而是来自提交。您可以从历史上的任何地方分支,而不仅仅是从分支的顶端。如果你从 master 分支,Git 不会记住那个,它只会记住你的新分支在哪里。

要从当前提交创建并签出分支,运行

git checkout -b new-branch

要从任何提交创建和签出分支,运行

git checkout -b new-branch base-commit