“git branch”和“git checkout -b”有什么区别?

时间:2011-11-02 21:44:37

标签: git git-branch git-checkout

我使用git checkout -b创建了一个新分支。我认为git branch做同样的事情。 如果它们完全不同,这两个命令有何不同?

7 个答案:

答案 0 :(得分:223)

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

换句话说,git checkout -b BRANCH_NAME为您做了以下事情。

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

答案 1 :(得分:40)

git branch创建分支但您仍然在已检出的当前分支中。

git checkout -b创建一个分支并将其检出。

这是简称:

git branch name
git checkout name

答案 2 :(得分:22)

  • git branch显示所有分支
  • git branch newbranch创建新分支
  • git checkout -b newbranch创建新分支并立即切换到该分支。这与git branch newbranch后跟git checkout newbranch
  • 相同

答案 3 :(得分:17)

完整语法:

git checkout -b [NEW_BRANCH] [FROM_BRANCH]

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

答案 4 :(得分:6)

还有另一面要提的标志,这与这些相关......

git checkout -B BRANCH_NAME

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

答案 5 :(得分:0)

两种命令的形式相似(查看git-scm docs Version 2.11.1):

git branch <branchname> <start-point>

git checkout -b <new_branch> <start_point>

首先执行branch命令的latter然后添加checkout。在那个表单中明确引用了git-branch的doc:

  

指定-b会导致创建一个新分支,就像git-branch [2]   被叫,然后检查出来

答案 6 :(得分:0)

基本上:

A-git branch允许您创建简单明了的分支。

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

你什么时候用哪个?  1- git分支,当您想要创建分支但保留在当前分支上时。  2- git checkout -b当你想要创建和切换时。 如果你看一下,创建一个分支并切换到它是很直观的。所以你的选择是:)