git - español - error: src refspec master does not match any. heroku
Error de Git: src refspec master no coincide con ningún (2)
Ha creado un nuevo repositorio y ha agregado algunos archivos al índice, pero aún no ha creado su primer confirmación. Después de que hayas hecho:
git add a_text_file.txt
... hacer
git commit -m "Initial commit."
... y esos errores deberían desaparecer.
Esta pregunta ya tiene una respuesta aquí:
Necesito crear un repo llamado carboncake
.
Intenté esto:
Clonado el repositorio gitosis-admin a mi máquina local
$ git clone [email protected]:repositories/gitosis-admin.git
$ cd gitosis-admin
$ vim gitosis.conf
Se agregó la [repo carboncake]
y [group carboncake]
al final del archivo.
[gitosis]
[group team]
writable = sweepshots
members = git_id_rsa
[group gitosis-admin]
writable = gitosis-admin
members = git_id_rsa
[repo carboncake]
description = A brand new app by Mithun.
owner = Mithun P
[group carboncake]
writable = myappname
members = mithun @core
Luego copió el archivo de clave de pub generado por Putty (estoy usando Git basg para Windows):
$cp /some/where/mithun.pub keydir/mithun.pub
Ejecutado los siguientes comandos:
$ git add gitosis.conf keydir/mithun.pub
$ git commit -m "Added ''carboncake'' repository and ''mithun'' user."
$ git pull --rebase
$ git push
Pero no crea ninguna carboncake.git en Mi servidor.
Así que seguí esto:
Ejecutó los siguientes comandos en el servidor:
$ su gitosis
$ git init --bare /srv/gitosis/repositories/carboncake.git
Aquí está mi problema:
Intenté verificar / clonar el nuevo repositorio desde mi máquina local
$ mkdir carboncake
$ cd carboncake
$ git init
$ touch a_text_file.txt
$ git add a_text_file.txt
$ git remote add origin [email protected]:repositories/carboncake.git
$ git push origin master
Lo que devolvió el error:
error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to ''[email protected]:repositories/carboncake.git''
Cuando probé git push origin HEAD:master
, devolvió el error:
error: src refspec HEAD does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to ''[email protected]:repositories/carboncake.git''
Cuando probé git push origin master:refs/heads/master
me devolvió el error:
error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to ''[email protected]:repositories/carboncake.git''
git show-ref
en la máquina local no muestra nada
También el directorio /srv/gitosis/repositories/carboncake.git/refs/heads/
en el servidor está vacío.
¿Cómo puedo arreglar esto?
La respuesta rápida posible: cuando primero clonas con éxito un repositorio de git vacío, el origen no tiene una rama maestra. Así que la primera vez que tienes un compromiso de empujar debes hacer:
git push origin master
Lo que creará esta nueva rama maestra para ti. Pequeñas cosas como esta son muy confusas con git.
Si esto no solucionó tu problema, es probable que sea un problema relacionado con la gitolita:
Su archivo conf parece extraño. Debería haber un archivo conf de ejemplo que venía con tu gitolite. El mío se parece a esto:
repo phonegap
RW+ = myusername otherusername
repo gitolite-admin
RW+ = myusername
Por favor, asegúrese de que está configurando su archivo conf correctamente.
Gitolite en realidad reemplaza la cuenta del usuario de gitolite con un shell modificado que no acepta sesiones de terminal interactivas. Puede ver si gitolite está funcionando al intentar ssh en su caja usando la cuenta de usuario de gitolite. Si sabe quién eres, dirá algo como "Hola XYZ, tienes acceso a los siguientes repositorios: X, Y, Z" y luego cierra la conexión. Si no te conoce, simplemente cerrará la conexión.
Por último, después de que su primer impulso de git haya fallado en su máquina local, nunca debe recurrir a la creación del repositorio manualmente en el servidor. Necesitamos saber por qué su empujón git falló inicialmente. Puede causar más confusión y gitolita cuando no use gitolita exclusivamente una vez que la haya configurado.