在结账时,带斜线的Git遥控器会自动跟踪?

时间:2013-12-17 00:18:30

标签: git

我有这个:

$ git branch -r
github/foo/a-branch

通常,这有效:

$ git checkout a-branch
error: pathspec 'a-branch' did not match any file(s) known to git.

当然,a-branch不存在;通常,git会创建一个新的跟踪分支来跟踪远程中的跟踪分支。也就是说,如果我重命名远程

$ git remote rename github/foo github-foo
$ git checkout a-branch
Branch a-branch set up to track remote branch a-branch from github-foo.
Switched to a new branch 'a-branch'

为什么git会为我设置跟踪分支,为什么遥控器的名称会影响?

1 个答案:

答案 0 :(得分:0)

您是否尝试明确指定要跟踪的远程分支的完整路径规范?

git checkout -b a-branch --track github/foo/a-branch

此外,关于跟踪分支的设置,请参考http://git-scm.com/docs/git-checkout

  

如果找不到<branch>但是在一个具有匹配名称的遥控器(称为<remote>)中确实存在跟踪分支,则将其视为等效于

     

$ git checkout -b <branch> --track <remote>/<branch>

Git还有一个branch.autosetupmerge配置设置,可以自动设置从您拉出的遥控器开始的跟踪。