Почему мерзавец не тянет? - PullRequest
8 голосов
/ 06 мая 2011

Я создал локальную ветку вот так

$ 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 ]

7 голосов
/ 06 мая 2011

Вы должны выполнить:

git remote show origin

Это даст вам список локальных филиалов отслеживающих филиалов

Если ваш локальный филиал не отслеживает удаленный, вы можете создать отслеживающую ветку с помощью:

git checkout -b origin/group_contact_form

Затем просто перебазируйте вашу локальную ветку, чтобы вы могли обновить изменения

3 голосов
/ 06 мая 2011

Ваша merge настройка в разделе branch "group_contact_form", похоже, неверна.Я думаю, это должно быть

merge = refs/heads/group_contact_form

Кроме того, remote должно быть

remote = origin

Это настройка, которую я получаю после выполнения git push origin mybranch.

1 голос
/ 06 мая 2011

Попробуйте следующее:

git branch --set-upstream group_contact_form origin/group_contact_form
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...