nameofrepo.git no parece ser un repository de git

Intento configurar git en mi propio server e impulsar mi proyecto allí con capistrano.

todavía dice

fatal: '/home/gitolite/repositories/iminrails.git' no parece ser un repository de git, pero puedo ver iminrails.git en repositorys de directory en el server. Así que probé un process diferente para impulsar mi repo en el server, pero todavía estoy recibiendo este error.

ofer@debianruby:/var/www/iminrails$ scp -r /tmp/iminrails.git gitolite@example.com:/home/gitolite/repositories/ Enter passphrase for key '/home/ofer/.ssh/id_rsa': bad command: scp -r -t -- /home/gitolite/repositories/ lost connection ofer@debianruby:/var/www/iminrails$ git push origin master:refs/heads/master Enter passphrase for key '/home/ofer/.ssh/id_rsa': fatal: '/home/gitolite/repositories/iminrails.git' does not appear to be a git repository fatal: The remote end hung up unexpectedly 

Cuando usas ssh con una count gitolite, usarás una configuration ssh para usar el command forzado .
Ver Gitolite y ssh

Si miras el file authorized_keys, verás inputs como esta (corté los extremos del curso, son líneas bastante largas):

 command="[path]/gl-auth-command sitaram",[more options] ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA18S2t... command="[path]/gl-auth-command usertwo",[more options] ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArXtCT... 

Primero, descubre cuál de las keys públicas en este file coincide con el inicio de session entrante. Eso es cryptography, y no entraré en eso.
Una vez que se ha encontrado la coincidencia, ejecutará el command dado en esa línea; por ejemplo, si me conecté, se ejecutará [path]/gl-auth-command sitaram .
Entonces, lo primero que hay que notar es que esos usuarios no obtienen "acceso de shell", ¡lo cual es bueno!

Sin embargo, antes de ejecutar el command, sshd configura una variable de entorno llamada SSH_ORIGINAL_COMMAND que contiene el command git real que envió su estación de trabajo. Este es el command que se habría ejecutado si no tuviera el command = parte en el file de keys autorizadas.

La idea es simple:

  • sin acceso interactivo a shell
  • solo el command git (para que tu command scp no sea un command git), es rechazado.

Si necesita copyr un repository de Git local existente en un server remoto de Gitolite, consulte "cómo mover repos previos a gitolite ".

deje que gitolite lo cree como un nuevo repository como se describe en la sección sobre " agregar usuarios y repositorys ".

cd al clon en su estación de trabajo.
Asegúrate de que todas las twigs estén correctas y que no haya elementos adicionales, twigs "temporales", etc.

Ahora ejecuta estos dos commands

 git push --all git@server:reponame git push --tags git@server:reponame