Git pusht nicht in ein leeres Repository auf dem Server


4

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 --baresie 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.


1
Überprüfen Sie diesen Link: bitflop.com/tutorials/git-bare-vs-non-bare-repositories.html - Hier werden die Unterschiede zwischen Bare- und Non-Bare-Repos erläutert.
Meetai.com

Aktualisieren der Link-URL, die im Kommentar " bitflop.dk/tutorials/…

Antworten:


1

Sie sollten nicht selbst laufen müssen git init --bare.

Deklarieren Sie einfach einen neuen Repo-Namen in der gitolite.confDatei des gitolite-adminRepos, senden Sie diesen an den Gitolite-Server zurück, und Gitolite selbst erstellt das Repo ordnungsgemäß (in ~/repositories/mynewrepo.git, als nacktes Repo).


Ja, das war es, was ich angefangen habe und es gab mir diesen Fehler.
Supercheetah

@supercheetah gibt es dir diesen Fehler, wenn du ein neues Repo in der gitolite.confDatei deklarierst und es auf den Gitolite-Server schiebst? Haben Sie eine .gitolite.rcDatei in diesem Verzeichnis auf dem Server?
Vom

Das ist richtig, und ja, es gibt eine .gitolite.rcDatei.
Supercheetah

0

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.