Git не будет вставлять в пустой репозиторий на сервере

2133
supercheetah

Я только что установил Gitolite на сервер, поэтому любые репозитории, в которые я его помещаю, должны быть пустыми, и я даже зашел в каталог репозитория и запустил git init --bareих, чтобы убедиться, что они пустые, но когда я попробуйте нажать на них, я все еще получаю это сообщение об ошибке:

remote: error: refusing to update checked out branch: refs/heads/master remote: error: By default, updating the current branch in a non-bare repository remote: error: is denied, because it will make the index and work tree inconsistent remote: error: with what you pushed, and will require 'git reset --hard' to match remote: error: the work tree to HEAD. remote: error:  remote: error: You can set 'receive.denyCurrentBranch' configuration variable to remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into remote: error: its current branch; however, this is not recommended unless you remote: error: arranged to update its work tree to match what you pushed in some remote: error: other way. remote: error:  remote: error: To squelch this message and still keep the default behaviour, set remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'. 

Я даже побежал, git config receive.denyCurrentBranch ignoreчтобы попытаться заставить его просто войти в удаленный репозиторий, но ошибка все еще появляется.

Я не уверен, что я делаю не так здесь.

4
Проверьте эту ссылку: http://bitflop.com/tutorials/git-bare-vs-non-bare-repositories.html - объясняет разницу между голыми и не голыми репозиториями. Meetai.com 8 лет назад 1
Обновление URL ссылки, размещенной в комментарии http://www.bitflop.dk/tutorials/how-to-create-a-new-and-empty-branch-in-git.html 7 лет назад 0

2 ответа на вопрос

1
VonC

Вы не должны запускать git init --bareсебя.

Просто объявите новое имя репо в gitolite.confфайле gitolite-adminрепо, отправьте его обратно на сервер gitolite, и сам gitolite создаст это репо должным образом (в ~/repositories/mynewrepo.gitвиде чистого репо)

Да, это то, что я начал делать, и это давало мне эту ошибку. supercheetah 10 лет назад 0
@supercheetah выдает эту ошибку, когда вы объявляете новый репозиторий в файле `gitolite.conf` и отправляете его на сервер gitolite? У вас есть файл `.gitolite.rc` в этом домашнем каталоге gitolite на этом сервере? VonC 10 лет назад 0
Это правильно, и да, есть файл `.gitolite.rc`. supercheetah 10 лет назад 0
0
supercheetah

Я выяснил, что если на сервере Gitolite есть пользователь, то Git будет входить в него, а не через Gitolite, и я этого не осознавал. И у меня также была копия репо, которую я пытался протолкнуть в свой каталог пользователя, и, конечно, она не была голой.

Похожие вопросы