2012-08-11 12 views
11

Tengo un código existente en mi computadora, luego he registrado mi cuenta en sourceforge, comenzando un proyecto de git. Ahora necesito enviar mi proyecto local en el espacio remoto de sourceforge. En sf está la página de instrucciones:git error fatal Ruta con a no tiene sentido

primera vez usando Git

cd miorep-code 
git init 
git commit -a -m 'Initial commit' 
git remote add origin ssh://****/p/miorep/code 
git push origin master 

repositorio existente

cd miorep-code 
git remote add origin ssh://****/p/miorep/code 
git push origin master 

Si sigo el primer conjunto de instrucciones, tengo un

"Fatal: Paths with -a does not make sense"

cuando obtengo git commit -a -m 'Initial commit'.

Si sigo el segundo conjunto de instrucciones me sale:

error: src refspec master does not match any. error: failed to push some refs to 'ssh://**/p/ravenna/code'

Exec cuando el último comando.

¿Cuál es el conjunto correcto de instrucciones en mi caso? ¿Por qué me da ese error?

Respuesta

8

El primer conjunto de instrucciones no tienen sentido:

cd miorep-code 
git init 
git commit -a -m 'Initial commit' 

Es necesario que haya un git add entre git init y git commit, porque de lo contrario no se sabe git lo que desee confirmar. Su segundo error ...

error: src refspec master does not match any. error: failed to push some refs to 'ssh://**/p/ravenna/code' 

... significa que en realidad no ha cometido nada a su repositorio local, sin embargo, lo que no hay master rama de empujar.

Lo que se quiere hacer es:

cd miorep-code 
git init 
git add . 
git commit -m 'initial commit' 
git push origin master 

Se habrá dado cuenta de que esto es casi idéntica a su primer conjunto de instrucciones, excepto que hemos añadir un git add . que significa "poner todo en mi directorio actual y debajo de mi repositorio ".

+0

Se parecía que era necesario añadir a distancia. –

+1

Sí; Asumía que ya habías hecho eso. – larsks

+1

Tu respuesta parece incorrecta. 'git commit -a' se supone que es el equivalente de' git add. && git commit'. Eso es lo que hace el '-a', ¿no? – Olhovsky

14

La comilla simple 'es el problema. Cámbielo a comillas dobles, como "confirmación inicial". Use comillas dobles en Windows-cmd en lugar de comillas simples.

@AndrewC: leer esto antes de hacer el downvote: http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository#Skipping-the-Staging-Area

+0

Eso no funcionará según los comentarios anteriores, ya que no se agregará nada para realizar una confirmación. –

+1

Me encontré con el mismo problema ayer. Cambiar a comillas dobles ha ayudado. Todos los archivos sin seguimiento, que se copiaron manualmente en la carpeta del proyecto git, se agregarán automáticamente a las etapas y luego se confirmarán. - una opción es un compuesto de las 2 acciones. –

+0

"cada archivo que ya está rastreado" - no hay archivos rastreados inmediatamente después de iniciar git, por los comentarios anteriores –

Cuestiones relacionadas