为什么git不拉?

时间:2011-05-06 14:17:08

标签: git

我创建了一个像这样的本地分支

$ git branch group_contact_form

我提交了一些更改,然后将分支发送到远程,如下所示:

$ git push origin group_contact_form

我很乐意继续推送提交,$ git branch -a显示我的本地和远程分支

 * group_contact_form
   master
   remotes/origin/HEAD -> origin/master
   ...
   remotes/origin/group_contact_form
   ...

但是,当我尝试使用$ git pull

fatal: 'origin/group_contact_form' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

我的.git/config如下:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = database1:/var/git/repo_name.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
[branch "group_contact_form"]
    remote = origin/group_contact_form
    merge = refs/heads/master

我做错了什么?

3 个答案:

答案 0 :(得分:7)

你应该执行:

git remote show origin

这将为您提供哪些本地分支为tracking branches

的列表

如果您的本地分支机构未跟踪遥控器,您可以使用以下命令创建跟踪分支:

git checkout -b origin/group_contact_form

然后只需重新绑定本地分支,以便更新更改

答案 1 :(得分:3)

merge部分中的branch "group_contact_form"设置似乎有误。我认为应该是

merge = refs/heads/group_contact_form

此外,remote应为

remote = origin

这是我在执行git push origin mybranch后收到的设置。

答案 2 :(得分:1)

尝试以下方法:

git branch --set-upstream group_contact_form origin/group_contact_form