“git branch”和“;还有“git checkout -b"?

我用git checkout -b创建了一个新的分支。我认为git branch做同样的事情。 如果这两个命令有区别的话,它们有什么不同?< / p >
109525 次浏览

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 branch创建了分支,但你仍然在你签出的当前分支中。

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

它可以被认为是:

git branch name
git checkout name
  • git branch:显示你所有的分支
  • git branch newbranch:创建新分支
  • git checkout -b newbranch:创建一个新分支并立即切换到该分支。这与git branch newbranch后跟git checkout newbranch是一样的。

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

git checkout -B BRANCH_NAME

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

完整的语法:

git checkout -b [NEW_BRANCH] [FROM_BRANCH]

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

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

git branch <branchname> <start-point>

而且

git checkout -b <new_branch> <start_point>

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

指定-b会创建一个新的分支,就像git-branch[2]一样

从本质上讲:

git分支允许您简单地创建一个分支。

B -git checkout -b允许你创建一个分支并同时切换到它。

什么时候用which ? 1- git分支,当你想创建一个分支,但保持在当前分支。 2- git checkout -b当你想创建和切换。 你可以直观地创建一个分支并切换到它。所以选择是你的:)