63

创建和使用新分支涉及两个命令:

$ git branch new_branch_name
$ git checkout new_branch_name

我倾向于忘记后者,这可能很烦人。有没有办法使用单个命令来做到这一点?也许使用别名或类似的东西?我知道我可以编写一个 shell 函数,但对于这样一个简单而常见的任务来说,这似乎有点费力。

bzr branch --switchBazaar 使用该符号在某种程度上支持这一点。

4

3 回答 3

85

在写问题时,发现“<a href="https://stackoverflow.com/q/7987687/1468366">“git branch”和“git checkout -b”有什么区别?” 在类似问题的列表中,我自己找到了答案:

$ git checkout -b new_branch_name

我想我正在阅读错误命令的手册页,我希望这是branch命令的一部分,而不是checkout. 引用手册页checkout

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

正是我想要的。

于 2013-07-30T22:05:29.813 回答
17

Gitswitch在 2.23 版本中引入,专门处理分支的更改,并避免使用checkout它可能会因为它可以执行的大量操作而造成混淆。

在其他可能性中,

git switch <branch>  # to switch to an existing branch
git switch -c <new_branch>  # to create a new branch and switch to it
于 2021-03-23T09:18:54.227 回答
2

Git 有两个 Oneliners。

  1. git checkout -b new_branch_name.
  2. git switch -c new_branch_name

在引擎盖下,两者都做同样的事情:

git branch new_branch_name
git checkout new_branch_name
于 2022-02-12T21:05:19.347 回答