创建和使用新分支涉及两个命令:
$ git branch new_branch_name
$ git checkout new_branch_name
我往往会忘记后者,这可能很烦人。有没有办法使用单个命令来完成此操作?也许使用别名或类似的东西?我知道我可以编写一个 shell 函数,但这对于这样一个简单而常见的任务来说似乎有点麻烦。
Bazaar 确实使用
bzr branch --switch
符号在某种程度上支持这一点。
在写问题时,发现“gitbranch”和“git checkout -b”有什么区别?在类似问题列表中,我自己找到了答案:
$ git checkout -b new_branch_name
我想我正在阅读错误命令的手册页,我希望这是
branch
命令的一部分,而不是 checkout
。引用 checkout
的手册页:
指定
会导致创建一个新分支,就像调用-b
然后签出一样。git-branch(1)
正是我一直在寻找的。
Git 在 2.23 版本中引入了
switch
来专门处理分支的更改,并避免使用 checkout
,因为它可以执行的大量操作可能会造成混淆。
在其他可能性中,
git switch <branch> # to switch to an existing branch
git switch -c <new_branch> # to create a new branch and switch to it
git 中有两个用于此目的的单行代码。
git checkout -b new_branch_name
git switch -c new_branch_name
在幕后,两者都做同样的事情:
git branch new_branch_name
git checkout new_branch_name
我一般用的是
git checkout -b MY_NEW_BRANCH_NAME origin/master
这个
checkout
是你最近创建的新分支,用-b
,并将该分支与origin/master
分支连接起来,这样以后就不需要设置远程跟踪了--set-upstream
。