我使用了git checkout -b
来创建一个新的分支,我认为git branch
也能实现同样的功能。
如果有区别,这两个命令之间有何不同?
我使用了git checkout -b
来创建一个新的分支,我认为git branch
也能实现同样的功能。
如果有区别,这两个命令之间有何不同?
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 switch -c BRANCH_NAME
also works the same as git checkout -b BRANCH_NAME
- Anthony Avilagit 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 [NEW_BRANCH] [FROM_BRANCH]
[FROM_BRANCH] 是可选项。如果没有指定 FROM_BRANCH,Git 将使用当前分支。
还有一个需要提到的旗帜,与这些相关。
git checkout -B BRANCH_NAME
这是一个我最近一直在使用的非常有用的命令。该命令会检出您指定的分支,并基于源分支重置该分支。
$ git branch -f []
$ git checkout
- ddavisoncheckout -B
命令切换分支时,这个分支是与其他人共享的,那么它是否存在风险?我最近使用了这个命令,它似乎自动将我另一个分支的更改合并到了我切换到的分支中。 - Jeffgit checkout -B
,那么它会合并,或者可能会替换。 - ddavisoncheckout -B
不仅会在分支已经存在时切换分支,还会将目标分支重置为上一个分支(或指定的提交)。这也可能很危险,因为在较新的分支上重新运行 checkout -B
可能会将分支提交重置回上一个分支,这将删除最近的提交,如果上一个分支落后于当前分支。 - wesinat0r有两种类似的命令形式(参考git-scm文档版本2.11.1):
git branch <branchname> <start-point>
并且
git checkout -b <new_branch> <start_point>
后者先执行分支命令,然后再添加检出。在这种形式中,明确引用了git-branch的文档:
指定-b会创建一个新的分支,就像调用git-branch[2]一样,然后检出
本质上:
A-git分支让你轻松创建一个分支。
B-git checkout -b允许您创建一个分支并立即切换到它。
什么时候使用哪个? 1-当你想创建一个分支但留在当前分支时,使用git branch。 2-如果要创建并切换分支,则使用git checkout -b。 如果您看一下,创建分支并立即切换到它是直观的。所以选择权在你 :)