Git 如何在创建同名本地分支时自动跟踪远程分支?
我在几台机器上使用Git。我必须有一个在其中一台机器上延迟的配置,因为在场景中,我在Git 如何在创建同名本地分支时自动跟踪远程分支?,git,settings,git-remote,Git,Settings,Git Remote,我在几台机器上使用Git。我必须有一个在其中一台机器上延迟的配置,因为在场景中,我在master上,有一个远程分支origin/foo,并且想要创建一个本地分支foo,跟踪远程分支,会发生以下情况: 在大多数机器上,我需要使用的命令是(在master上时): 但是,在其中一台机器上,如果我只使用: git checkout -b foo 在这两种情况下,我都会 Branch foo set up to track remote branch foo from origin. 但是,第
master
上,有一个远程分支origin/foo
,并且想要创建一个本地分支foo
,跟踪远程分支,会发生以下情况:
- 在大多数机器上,我需要使用的命令是(在
上时):master
- 但是,在其中一台机器上,如果我只使用:
git checkout -b foo
Branch foo set up to track remote branch foo from origin.
但是,第二个命令只在我的一台机器上起作用,在其余机器上它只检查本地分支foo
。为什么会出现这种情况?是哪种环境使其工作
另外,我做了以下几件事,但都无济于事:
- 更新到git v。2.1.3;李>
- 确保我只有一个遥控器李>
- 使用git fetch origin获取远程分支
更新其中一台机器上的信息
git checkout-b foo
无效。签出本地分支以跟踪远程分支的正确命令是git checkout foo
,不带-b
检查git版本是否为旧版本
Git的最新版本应始终创建具有以下内容的跟踪分支:
如果未找到具有匹配名称的
,但恰好在一个远程(称之为
)中存在跟踪分支,则视为等同于
git签出-b--跟踪/
(或foo
存在于多个遥控器中)(或者您还没有从该远程设备获取,并且它没有检测到远程跟踪分支的存在
origin/foo
)
但是,它使用的是
git checkout foo
,而不是git checkout-b foo
,这一点得到了证实。唉,将git
从1.9.1更新到2.1.3对我没有帮助,我更新了我的问题。这是一种奇怪的问题…@AlexPopov是你的.git/refs/remotes/origin文件夹中的foo
分支吗?@AlexPopov的名称非常相同(例如没有尾随空格)?@alexpov你能尝试(在新的克隆中)agit checkout foo
(而不是git checkout-b foo
)看看这是否更有效?没有尾随空格。是的,让我用新的克隆人试试。
Branch foo set up to track remote branch foo from origin.
git checkout -b <branch> --track <remote>/<branch>