使用单个命令进行分支和检出

92
创建和使用新分支需要两个命令:
$ git branch new_branch_name
$ git checkout new_branch_name

我经常会忘记后面的部分,这可能很烦人。有没有一种方法可以使用单个命令来完成这个操作?也许可以使用别名或类似的东西?我知道我可以编写一个shell函数,但对于如此简单和常见的任务来说,这似乎是有点过度劳动。

Bazaar通过bzr branch --switch符号在某种程度上支持此功能。


1
本来想因为缺乏研究努力而给你点个踩,但后来我意识到你是在回答自己的问题。 - user456814
3个回答

129

在撰写问题时,在相似问题列表中发现了“git branch”和“git checkout -b”的区别是什么?,然后我自己找到了答案:

$ git checkout -b new_branch_name

我猜我看错了命令的man页面,我希望这是 branch 命令的一部分,而不是 checkout。引用 checkout 命令的man页面:

指定 -b 会创建一个新分支,就像调用 git-branch(1) 然后检出。

正是我在找的。


2
“我应该如何创建一个分支?” “使用git checkout。” - 13ren
13ren:更新链接:https://stevelosh.com/blog/2013/04/git-koans/#s2-one-thing-well - piegames

31

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

10

在git中,有两种方法可以一行命令创建新分支。

  1. git checkout -b 新分支名
  2. git switch -c 新分支名

实质上,这两种方法实现的功能是相同的。

git branch new_branch_name
git checkout new_branch_name

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接