当我在Git中创建分支时,我是否必须在主分支上?或者它会自动从主人创建分支吗?
例如,如果我在一个名为“branch1”的分支上,我会创建一个这样的分支:
git branch branch2
git checkout branch2
branch2是否包含来自branch1的内容,还是将它作为主分支的副本?
如果branch2是在branch1之外创建的,如果我将branch1和branch2合并到master中,我会遇到冲突吗?
答案 0 :(得分:2)
git branch
将从活动中创建一个分支。在您的情况下,它将从branch1
分支出来。
在您关闭master
(或branch
)后,您将遇到冲突。换句话说,在分支之后,您不应该更改分支的分支中的内容。如果这样做,那么您将无法自动合并。
答案 1 :(得分:1)
从技术上讲,分支不是基于分支,而是基于提交。您可以从历史的任何地方进行分支,而不仅仅是从分支的尖端进行分支。如果你从说master
分支,Git就不记得了,它会记住你的新分支在哪里。
要创建并签出当前提交的分支,请运行
git checkout -b new-branch
要从任何提交创建和签出分支,请运行
git checkout -b new-branch base-commit