Git wird nicht in ein leeres Repository auf dem Server verschoben

2204
supercheetah

Ich habe Gitolite auf einem Server installiert, also sollten alle Repositories, auf die ich mich hier drücke, nackte Repositorys sein sollten, und ich habe sogar in die Repo-Verzeichnisse gegangen und git init --barein ihnen reingelegt, um sicherzustellen, dass sie nackt sind, aber wenn ich Versuchen Sie, in sie hineinzustoßen, 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 gerannt git config receive.denyCurrentBranch ignore, um zu versuchen, es einfach in das Remote-Repo zu schieben, aber der Fehler wird immer noch angezeigt.

Ich bin nicht sicher, was ich hier falsch mache.

4
Überprüfen Sie diesen Link: http://bitflop.com/tutorials/git-bare-vs-non-bare-repositories.html - Hier werden die Unterschiede zwischen nackten und nicht-nackten Repos erläutert. Meetai.com vor 8 Jahren 1
Aktualisierung der Link-URL im Kommentar http://www.bitflop.dk/tutorials/how-to-create-a-new-and-empty-branch-in-git.html vor 7 Jahren 0

2 Antworten auf die Frage

1
VonC

Du solltest dich nicht selbst betreiben müssen git init --bare.

Geben Sie einfach einen neuen Repo-Namen in der gitolite.confDatei des gitolite-adminRepos an, drücken Sie ihn zurück zum Gitolite-Server, und Gitolite selbst erstellt dieses Repo ordnungsgemäß (in ~/repositories/mynewrepo.git, als reines Repo).

Ja, das war es, was ich angefangen habe, und es gab mir diesen Fehler. supercheetah vor 10 Jahren 0
@supercheetah gibt es diesen Fehler, wenn Sie ein neues Repo in der `gitolite.conf'-Datei deklarieren und es an den gitolite-Server schieben? Haben Sie eine `.gitolite.rc`-Datei in diesem gitolite-Verzeichnis auf diesem Server? VonC vor 10 Jahren 0
Das ist richtig und ja, es gibt eine .gitolite.rc -Datei. supercheetah vor 10 Jahren 0
0
supercheetah

Ich habe herausgefunden, dass Git sich bei Gitolite anmeldet, wenn sich ein Benutzer auf dem Gitolite-Server befindet, anstatt über Gitolite, und das habe ich nicht gemerkt. Ich hatte auch eine Kopie des Repos, das ich in mein Benutzerverzeichnis verschieben wollte, und es war natürlich nicht nackt.