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

Adr*_*oly 177 git git-checkout git-branch

我曾经git checkout -b创建一个新的分支.我认为这git branch也是一样的.如果两个命令完全不同,这两个命令有何不同?

Fat*_*cet 236

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
Run Code Online (Sandbox Code Playgroud)

  • `git switch -c BRANCH_NAME` 也与 `git checkout -b BRANCH_NAME` 作用相同 (4认同)

man*_*lds 42

git branch 创建分支,但您仍保留在已签出的当前分支中.

git checkout -b 创建一个分支并检查它.

这是简称:

git branch name
git checkout name
Run Code Online (Sandbox Code Playgroud)

  • 更确切地说:“git 分支创建了分支,但您仍保留在您已签出的当前分支中。” (2认同)

小智 24

  • git branch:显示所有分支
  • git branch newbranch:创建一个新分支
  • git checkout -b newbranch:创建一个新分支并立即切换到该分支.这git branch newbranch跟随后一样git checkout newbranch.


Tuo*_* Le 20

完整语法:

git checkout -b [NEW_BRANCH] [FROM_BRANCH]
Run Code Online (Sandbox Code Playgroud)

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


dda*_*son 6

还有另外一个要提及的标志,与之相关。

git checkout -B BRANCH_NAME
Run Code Online (Sandbox Code Playgroud)

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

  • 你能解释更多吗?我不知道重置对 git 意味着什么 (2认同)
  • 从git手册中:`如果给出-B,则<new_branch>如果不存在则创建;否则,将被重置。这等效于$ git branch -f <分支> [<起点>] $ git checkout <分支> (2认同)