跟踪git分支问题

时间:2012-10-08 19:16:42

标签: git git-branch

我使用git克隆了一个repo。另一个用户创建了一个新的分支,称之为foo(有两个分支master和foo)。我创建了另一个分支foo来跟踪远程foo。所以我运行了这个命令:git branch --set-upstream foo origin / foo。但是我有一条错误消息告诉我:fatal: Not a valid object name: 'origin/foo'任何人都可以提供帮助吗?当我运行git remote origin show时,我收到了消息:

* remote origin
  Fetch URL: ssh://***
  Push  URL: ssh://***
  HEAD branch: foo
  Remote branches:
    master   tracked
    foo new (next fetch will store in remotes/origin)
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (local out of date)

1 个答案:

答案 0 :(得分:2)

您必须先将分支机构取出或拉到本地仓库。

git fetch origin
# OR
git pull origin

之后,您可以结帐foo

git checkout foo

并且,您可以使用您编写的上述命令来跟踪原始/ foo与另一个本地分支名称(放入您的通话中,只需在结账时使用相同的名称)。

Git遥控器只能在某个地方拉/推变化。但实际上,git所做的就是在本地驱动器上,所以除非先将它们提取到您的语言环境,否则无法与远程分支进行交互。 origin/foo只是您在本地持有的sha-1提交ID的标签。使用origin/foo时,引用本地标签,而不是远程状态(引用远程分支时没有进行ssh连接)。