为什么git不拉?

Ben*_*ths 9 git

我创建了一个本地分支

$ git branch group_contact_form
Run Code Online (Sandbox Code Playgroud)

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

$ git push origin group_contact_form
Run Code Online (Sandbox Code Playgroud)

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

 * group_contact_form
   master
   remotes/origin/HEAD -> origin/master
   ...
   remotes/origin/group_contact_form
   ...
Run Code Online (Sandbox Code Playgroud)

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

fatal: 'origin/group_contact_form' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

我的.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
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

Pab*_*dez 7

你应该执行:

git remote show origin
Run Code Online (Sandbox Code Playgroud)

这将为您提供一个列表,列出哪些本地分支正在跟踪分支

如果您的本地分支没有跟踪远程,您可以创建跟踪分支:

git checkout -b origin/group_contact_form
Run Code Online (Sandbox Code Playgroud)

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


evn*_*vnu 3

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

merge = refs/heads/group_contact_form
Run Code Online (Sandbox Code Playgroud)

另外,remote应该是

remote = origin
Run Code Online (Sandbox Code Playgroud)

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