Git <起点>分支跟踪自动远程

时间:2019-02-07 23:40:17

标签: git branch

从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是否应该只创建一个本地分支,直到指定该分支才跟踪任何远程分支?我启用的配置会触发这种行为吗?

1 个答案:

答案 0 :(得分:1)

这不是预期的行为。最终不像您编写示例那样:

git checkout -b testbranch devbranch

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

但是,如果您要使用此命令

git checkout -b testbranch origin/devbranch      

这将有望自动设置跟踪。如the documentation中所述:

  

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

此外,您可能已经将branch.autoSetupRebase设置为always或将pull.rebase设置为true,因为您收到了“通过重新设置基准”消息(而不是默认的静默合并)

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

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