Ich habe Gitolite gerade auf einem Server installiert, daher sollten alle Repositorys, in die ich schiebe, leere Repositorys sein, und ich habe sogar die Repoverzeichnisse durchsucht und git init --bare
sie ausgeführt, um sicherzustellen, dass sie leer sind, aber wenn ich versuche hinein zu schieben, ich bekomme immer noch diese Fehlermeldung:
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'.
Ich bin sogar gelaufen git config receive.denyCurrentBranch ignore
, um zu versuchen, es einfach in das Remote-Repo zu schieben, aber der Fehler tritt immer noch auf.
Ich bin nicht sicher, was ich hier falsch mache.
Antworten:
Sie sollten nicht selbst laufen müssen
git init --bare
.Deklarieren Sie einfach einen neuen Repo-Namen in der
gitolite.conf
Datei desgitolite-admin
Repos, senden Sie diesen an den Gitolite-Server zurück, und Gitolite selbst erstellt das Repo ordnungsgemäß (in~/repositories/mynewrepo.git
, als nacktes Repo).quelle
gitolite.conf
Datei deklarierst und es auf den Gitolite-Server schiebst? Haben Sie eine.gitolite.rc
Datei in diesem Verzeichnis auf dem Server?.gitolite.rc
Datei.Ich habe herausgefunden, dass Git sich bei einem Benutzer auf dem Gitolite-Server bei diesem Benutzer statt über Gitolite anmeldet, und das habe ich nicht bemerkt. Und ich hatte auch eine Kopie des Repos, das ich in mein Benutzerverzeichnis schieben wollte, und natürlich war es nicht kahl.
quelle