#git
#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
Что я сделал не так?
Ответ №1:
Вы должны выполнить:
git remote show origin
Это даст вам список, какие локальные ветви отслеживают ответвления
Если ваша локальная ветвь не отслеживает удаленную, вы можете создать отслеживающую ветвь с:
git checkout -b origin/group_contact_form
Тогда просто перебазируйте свою локальную ветку, чтобы вы могли обновить изменения
Комментарии:
1. 1
git remote show origin
довольно полезно. Раньше с этим не сталкивался.2. Ссылка мертва
Ответ №2:
Ваша merge
настройка в разделе branch "group_contact_form"
кажется неправильной. Я думаю, что это должно быть
merge = refs/heads/group_contact_form
Кроме того, remote
должно быть
remote = origin
Это настройка, которую я получаю после выполнения git push origin mybranch
.
Комментарии:
1. Если кому-то интересно, можно ли вообще найти эти настройки:
.git/config
Ответ №3:
Попробуйте следующее:
git branch --set-upstream group_contact_form origin/group_contact_form