Git <start-point> 分支跟踪远程自动



来自 git 文档,

git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]

start_point定义为基于起点分支或提交的提交创建新分支,但在此特定情况下,还创建跟踪起点的分支,例如:

git checkout -b testbranch devbranch

输出:

Branch testbranch set up to track remote branch devbranch from origin by rebasing.

这是预期的行为吗? git checkout不应该只创建一个本地分支,在指定之前不会跟踪任何远程分支吗?这是我启用的触发此行为的配置吗?

这不是预期的行为。 最后不是你写例子的方式:

git checkout -b testbranch devbranch

即使devbranch正在跟踪远程分支,这也不应设置任何跟踪。

但是,如果您的意思是此命令

git checkout -b testbranch origin/devbranch      

然后,这将自动设置跟踪。如文档中所述:

当起点是远程跟踪分支时,此行为是默认行为

此外,您可能已将branch.autoSetupRebase设置为 alwayspull.rebase设置为 true,因为您收到消息"通过变基"(而不是静默默认合并(。

如果您希望避免此行为,并从远程分支指向的同一提交创建一个分支,但不跟踪该远程分支,则可以运行此命令

 git checkout --no-track -b testbranch origin/devbranch

最新更新