Я открыл удаленный репозиторий, и я могу продвинуть новые изменения в нем, но я не могу выбрать от него, я всегда получаю (довольно загадочное) сообщение об ошибке:
fatal: Refusing to fetch into current branch refs/heads/master of non-bare repository
fatal: The remote end hung up unexpectedly
Что это значит? Что я должен сделать, чтобы позволить выбрать?
(Обратите внимание, что этот удаленный repo используется только в качестве резервного копирования repo, таким образом, это должна быть в значительной степени точная копия моего локального репозитория. Я действительно не могу понять, почему я могу продвинуть к нему, но не выбрать от него...),
Моя конфигурация похожа:
[remote "origin"]
url = ssh://blablablah
fetch = +refs/*:refs/*
mirror = true
То, что вы пытаетесь сделать, это получить ветку, над которой вы работаете. То есть, вы находитесь на ветке master и пытаетесь обновить её. Это невозможно. Чаще всего обновляются ветки remotes/*
, а затем подтягиваются в локальные. То, что вы хотите, возможно,
git remote add otherrepo thehost:/the/path.git
Это настроит репозиторий на извлечение в remotes/otherrepo/*
. git fetch otherrepo
должен сделать это. В качестве альтернативы, вы можете вручную отредактировать .git/config
и установить fetch
для пульта на что-то вроде refs/heads/*:refs/remotes/otherrepo/*
.