2013-06-04 12 views
18

Sto provando a convertire il mio primo repository Git in un'istanza gitlab, che ho impostato su una debian-VM. Tutto sta per succedere tramite la rete locale. I seguenti comandi sono mostrati in gitlab dopo aver creato un nuovo repository.Git "non sembra essere un repository git" e porta invece di dominio?

mkdir test 
cd test 
git init 
touch README 
git add README 
git commit -m 'first commit' 
git remote add origin [email protected]:1337:Matt/test.git 
git push -u origin master 

Dopo aver inserito git push -u origin master questo accade:

[email protected]'s password: 
fatal: '1337:Matt/test.git' does not appear to be a Git repository 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

Il problema potrebbe essere la porta su cui è in esecuzione a Git? Gitlab è accessibile tramite la porta 617, quindi sono in grado di raggiungere la GUI tramite http://xxx.xxx.xxx.xxx:617/Matt/test

La password che ho inserito sembra essere corretta, perché una password errata finirà in un messaggio di "autorizzazione negata". OT: Non so perché devo inserire un passwd, perché ho generato e aggiunto ssh-keys, come descritto in gitlab, ma questo è un altro problema.

risposta

20

Ho risolto il mio problema. La data porta 1337 non era il problema, anche se era sbagliato troppo, perché ssh non sembra essere in grado di gestire un porto URL:

Using a remote repository with non-standard port

Il Git-url che ha funzionato per me è stato:

[email protected]:repositories/Matt/test.git 

mio Git casa dell'utente dIR si trova nel /home/git/ e repository vengono memorizzati in /home/git/repositories quindi ho dovuto aggiungere repository Git al mio percorso.

Il motivo per cui GitLab mi ha detto di utilizzare l'url [email protected]:1337:Matt/test.git sembra essere un percorso Git configurato in GitLab errato. Cercherò di aggiustarlo ora.

Edit:

L'host di sbagliato è stato configurato in /home/git/gitlab/config/gitlab.yml. L '"host" deve essere senza porta ... Se necessario, è disponibile un'opzione aggiuntiva per la porta.

Edit3: ancora in grado di spingere o prendere la mia prova-repository senza repositories nel percorso .. https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide#could-not-read-from-remote-repository

Forse qualcosa a che fare con RSA-chiavi ma non capisco come questo appartiene insieme.

Edit4: (Problema (s) sembra essere risolto) Le mie chiavi di rsa erano ok. Il problema era che ho configurato il mio sshd_config per consentire solo a un certo utente di ssh-login. Ho semplicemente aggiunto Git all'elenco degli utenti consentiti AllowUsers mylogin git

Ora non devo più accedere tramite password (Non devi mai accedere tramite password se le chiavi ssh rsa sono impostate correttamente) e il percorso funziona senza "repository" come dovrebbe. Ora capisco, questa è solo una normale connessione ssh - non me ne ero reso conto prima ...

Il modo in cui ho capito:

login attraverso il terminale come utente root:

service ssh stop #Current SSH-Connection won't be closed.. 
/usr/sbin/sshd -d 

====debugging mode=== 

Poi nel Git Bash:

ssh -Tv [email protected] 

Successivamente il terminale con sshd in esecuzione in modalità di debug ha generato un errore a cui Git non può accedere a causa di AllowUsers ...

Do non dimenticare di avviare il servizio ssh in seguito:

service ssh start 
+2

Non sono sicuro che dovresti mai dover specificare il percorso locale di 'Matt/test.git': '' repository' 'non dovrebbe mai essere menzionato qui – VonC

+0

Hai ragione: https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide#could-not-read-from-remote-repository Ma non sono ancora in grado di farlo funzionare . Sto ancora provando .. stavolta su un wheezy debian completamente nuovo. – mat

+1

Ora sembra una risoluzione valida. +1 – VonC

-3

uso questo formato:

git remote add origin ssh://[email protected]:1337/Matt/test.git

[email protected]:[port]/path nella maggior parte dei casi, omettiamo il porto e sembra che questo: [email protected]:/path ....

+0

TY! Ho anche provato questo. In realtà il messaggio di errore che ho postato proviene da questo url-setup fatale: '1337/Matt/test.git' non sembra essere un repository git – mat

+0

ha dimenticato che non hai specificato un protocal prova questo git remote add origin ssh: //[email protected]: 1337/Matt/test.git – loveni

Problemi correlati