创建和使用新分支涉及两个命令:
$ git branch new_branch_name $ git checkout new_branch_name
我往往会忘记后者,这可能会令人恼火。有没有办法只用一个命令就可以做到这一点?也许用了化名,或者类似的东西?我知道我可以编写一个 shell 函数,但是对于这样一个简单而普通的任务来说,这似乎有点太费工夫了。
Bazaar 使用 bzr branch --switch符号在一定程度上支持这一点。
bzr branch --switch
在写这个问题的时候,我在类似的问题列表中找到了 “ git 分支”和“ git checkout-b”有什么区别?,我自己找到了答案:
$ git checkout -b new_branch_name
我猜测我在为错误的命令读取手册页,我期望这是 branch命令的一部分,而不是为 checkout。引用 checkout的手册页:
branch
checkout
指定 -b将创建一个新分支,就像调用 git-branch(1)然后签出一样。
-b
git-branch(1)
正是我要找的。
Git 在2.23版本中引入了 switch,以专门处理分支的更改,并避免使用 checkout,因为 checkout可以执行的操作数量太多,这可能会造成混淆。
switch
除了其他可能性,
git switch <branch> # to switch to an existing branch git switch -c <new_branch> # to create a new branch and switch to it
在 git 中有两个 oneliners。
git checkout -b new_branch_name
git switch -c new_branch_name
在引擎盖下,两者都做着同样的事情:
git branch new_branch_name git checkout new_branch_name