我创建了一个像这样的本地分支
$ 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
我做错了什么?
答案 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