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

问题描述 投票:0回答:4

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

$ git branch new_branch_name
$ git checkout new_branch_name

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

Bazaar 确实使用

bzr branch --switch
符号在某种程度上支持这一点。

git version-control git-branch git-checkout
4个回答
155
投票

在写问题时,发现“gitbranch”和“git checkout -b”有什么区别?在类似问题列表中,我自己找到了答案:

$ git checkout -b new_branch_name

我想我正在阅读错误命令的手册页,我希望这是

branch
命令的一部分,而不是
checkout
。引用
checkout
的手册页:

指定

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

正是我一直在寻找的。


37
投票

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

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

0
投票

我一般用的是

git checkout -b MY_NEW_BRANCH_NAME origin/master

这个

checkout
是你最近创建的新分支,用
-b
,并将该分支与
origin/master
分支连接起来,这样以后就不需要设置远程跟踪了
--set-upstream

© www.soinside.com 2019 - 2024. All rights reserved.