我在几台机器上使用Git。我必须有一个配置,这会延迟其中一台机器,因为在这种情况下,我在master
并且有一个远程分支origin/foo
,并且想要创建一个本地分支foo
,跟踪远程分支发生以下情况:
在大多数机器上我需要使用的命令是(在master
上时):
git checkout -b foo origin/foo
但是在其中一台机器上,如果我只使用:
就足够了git checkout -b foo
在这两种情况下我都会
Branch foo set up to track remote branch foo from origin.
但是,第二个命令仅适用于我的一台计算机,其余部分只检查本地分支foo
。为什么这个和哪个设置对它起作用?
P.S。我做了以下事情,没有帮助:
git fetch origin
更新其中一台计算机上运行的信息git checkout -b foo
为false。检查本地分支以跟踪远程的正确命令是git checkout foo
,而不是-b
。
答案 0 :(得分:1)
检查git版本是否较旧版本。
Git的最新版本应始终使用git checkout -b
创建跟踪分支:
如果找不到
<branch>
但是在一个具有匹配名称的遥控器(称为<remote>
)中确实存在跟踪分支,则将其视为等效于
git checkout -b <branch> --track <remote>/<branch>
(或foo
存在于多个遥控器中)
(或者您还没有从该遥控器获取,并且它没有检测到远程跟踪分支的存在origin/foo
)
然而,由于OP Alex Popov确认in the comments,它使用git checkout foo
而非git checkout -b foo
。