fragen stichworte

Wie soll git von gitlab generierte URLs auflösen?

Nachdem gitlab erfolgreich installiert und ausgeführt wurde, versuchte ich, ein vorhandenes Projekt zu importieren. Dazu habe ich ein leeres Projekt erstellt und auf der Projektseite eine Liste mit Anweisungen erhalten, wie meine vorhandenen Repodaten in das Gitlab-Projekt verschoben werden:

   cd existing_git_repo
    git remote add origin gitlab@gitlab.mydomain:root/testproject.git
    git push -u origin master

Ich erhalte jedoch die folgende Meldung:

   fatal: 'root/testproject.git' does not appear to be a git repository
    fatal: Could not read from remote repository.

Beim Betrachten meines Repository-Ordners wurde das Repository dort von gitlab erstellt. Wenn Sie die http-URL anstelle der git-URL verwenden, funktioniert alles wie erwartet.

Wie soll git push wissen, wie es von "gitlab@gitlab.mydomain: root/testproject.git" auf "gitlab @ gitlab aufgelöst werden kann. MeineDomäne:/home/gitlab/repositories/root/testproject.git "? Soll gitlab den Git-Server erstellen? Wenn ja, wo sollte ich anfangen zu graben, um herauszufinden, warum kein Repository gefunden wurde, in dem Gitlab mir befohlen hat, auf meine Fernbedienung zu zeigen?

-

Bearbeiten: Wenn Sie nach "root/testproject.git" suchen, erhalte ich folgende Ergebnisse:

   [gitlab@gitlab gitlab]# grep -r "root/testproject.git" *
    gitlab/log/sidekiq.log:Initialized empty Git repository in/home/gitlab/repositories/root/testproject.git/
    gitlab-shell/gitlab-shell.log:I, [2014-01-23T16:38:16.974051 #5390]  INFO -- : Adding project root/cashio.git at </home/gitlab/repositories/root/testproject.git>.

Edit2: Wenn dies hilft: Verwenden Sie git remote set-url gitlab gitlab@gitlab.mydomain:/home/gitlab/repositories/root/testproject.git wie erwartet.

antworten

Ok, der Grund war ziemlich einfach, aber für mich nicht offensichtlich. Alles wird hier beschrieben: https://github.com/gitlabhq/gitlabhq/issues/3686

Es läuft darauf hinaus, dass man Schlüssel mit Gitlab-Shell verwendet und Gitlab diese Schlüssel verwalten muss, die ich nicht kannte. Wenn Sie die Schlüsselauthentifizierung verwenden und die Schlüssel über das Gitlab-Webinterface gespeichert haben, funktioniert das Drücken, Ziehen und Klonen jetzt wie erwartet.