我的分支是否总是在Git的主分支之外创建

我的分支是否总是在Git的主分支之外创建,git,version-control,Git,Version Control,在Git中创建分支时,我必须在主分支上吗?或者它会自动从master创建分支吗 例如,如果我在一个名为“branch1”的分支上,我创建了一个如下分支: git branch branch2 git checkout branch2 branch2将包含来自branch1的内容,还是将是主分支的副本 如果branch2是从branch1创建的,那么如果我将branch1和branch2合并到master中,我会遇到冲突吗?该分支将基于其源——因此在这种情况下,branch2将与branch1相

在Git中创建分支时,我必须在主分支上吗?或者它会自动从master创建分支吗

例如,如果我在一个名为“branch1”的分支上,我创建了一个如下分支:

git branch branch2
git checkout branch2
branch2将包含来自branch1的内容,还是将是主分支的副本


如果branch2是从branch1创建的,那么如果我将branch1和branch2合并到master中,我会遇到冲突吗?

该分支将基于其源——因此在这种情况下,branch2将与branch1相同,直到您开始编辑它。

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


每当要合并的分支更改了同一文件的完全相同部分时,就会遇到冲突。如果是这种情况,那么您将无法自动合并。

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

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

git checkout -b new-branch
git checkout -b new-branch base-commit
要从任何提交中创建和签出分支,请运行

git checkout -b new-branch
git checkout -b new-branch base-commit

如果我将branch1和branch2合并到master中会发生什么?我会遇到冲突吗?