我使用git checkout -b来创建一个新分支。我认为git分支做同样的事情。 如果这两个命令有区别的话,它们有什么不同?


当前回答

Git分支创建了分支,但您仍然停留在已签出的当前分支中。

Git checkout -b创建一个分支并签出它。

它可以被认为是:

git branch name
git checkout name

其他回答

还有一个标志要提到,这是相对于这些。

git checkout -B BRANCH_NAME

这是一个非常有用的命令,我最近一直在使用。这个命令签出您指定的分支,并根据源分支重置分支。

git checkout -b BRANCH_NAME创建一个新分支并签出新分支,而git branch BRANCH_NAME创建一个新分支,但将你留在同一个分支上。

换句话说,git checkout -b BRANCH_NAME为您执行以下操作。

git branch BRANCH_NAME    # create a new branch
git switch BRANCH_NAME    # then switch to the new branch

这两个命令的一些形式是相似的(参见git-scm docs Version 2.11.1):

git branch <branchname> <start-point>

and

git checkout -b <new_branch> <start_point>

后者首先执行分支命令,然后添加签出。在这个表单中,显式引用git-branch的doc:

指定-b会创建一个新的分支,就像git-branch[2]一样 打电话,然后退房

完整的语法:

git checkout -b [NEW_BRANCH] [FROM_BRANCH]

[FROM_BRANCH]是可选的。如果没有FROM_BRANCH, git将使用当前的分支。

Git分支创建了分支,但您仍然停留在已签出的当前分支中。

Git checkout -b创建一个分支并签出它。

它可以被认为是:

git branch name
git checkout name