使用单个命令进行分支和结帐

MvG*_*MvG 11 git version-control git-checkout git-branch

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

$ git branch new_branch_name
$ git checkout new_branch_name
Run Code Online (Sandbox Code Playgroud)

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

Bazaar在某种程度上使用bzr branch --switch符号来支持这一点.

MvG*_*MvG 14

在撰写问题时,发现" git branch"和"git checkout -b"有什么区别?"在类似问题清单中,我自己找到了答案:

$ git checkout -b new_branch_name
Run Code Online (Sandbox Code Playgroud)

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

指定-b原因创建新分支,就像git-branch(1)调用然后签出一样.

正是我在寻找的东西.

  • [“我应该如何创建一个分支?” “使用`git checkout`。”](http://stevelosh.com/blog/2013/04/git-koans/#one-thing-well) (2认同)

Mai*_*rey 14

git 中有两个用于此目的的单行代码。

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

在幕后,两者都做同样的事情:

git branch new_branch_name
git checkout new_branch_name
Run Code Online (Sandbox Code Playgroud)


P-G*_*-Gn 7

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

除其他可能性外,

git switch <branch>  # to switch to an existing branch
git switch -c <new_branch>  # to create a new branch and switch to it
Run Code Online (Sandbox Code Playgroud)