Empuje error maestro de origen en nuevo repositorio


181

Acabo de empezar a usar git con github. Seguí sus instrucciones y encontré errores en el último paso. Estoy revisando un directorio existente que actualmente no está controlado por la fuente (proyecto de aproximadamente una semana de antigüedad). Aparte de eso, mi caso de uso debería ser bastante común.

Esto es lo que está sucediendo:

$ git push origin master
error: src refspec master does not match any.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git'

Instrucciones de Github:

Global setup:

  Download and install Git
  git config --global user.name "Your Name"
  git config --global user.email {username}@gmail.com

Next steps:

  mkdir projectname
  cd projectname
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:{username}/{projectname}.git
  git push origin master

44
Parece que la confirmación inicial no funcionó por cualquier razón. Git log me ayudó a ver si el commit funciona o no. Tuve éxito al intentarlo de nuevo al día siguiente. ¡Gracias!
sutee

1
Si no agrega ningún archivo, confirma o ejecuta git init, siempre tendrá este tipo de problemas. Por lo tanto, siempre corre git statuspara ver si todo está bien.
raduken

error similar al crear una rama a un repositorio git recién creado a partir del código existente. Resolvió el error clonando el repositorio git.
user553620


Posible duplicado de error cuando "git push" a github .

Respuestas:


137

El mensaje de error lleva a la conclusión de que no tiene una masterrama en su repositorio local. Empuje su rama de desarrollo principal ( git push origin my-local-master:masterque le cambiará el nombre a mastergithub) o realice una confirmación primero. No puede empujar un repositorio completamente vacío.


10
Tuve el problema del "repositorio vacío", ya que la guía relevante a la que hace referencia GitHub ( beans.seartipy.com/2008/12/09/… ) no mencionó el comando "git commit -m 'first commit'". Una vez que usé eso, ¡todo estuvo bien!
Pascal Lindelauf

3
Me había olvidado de cometer mis cambios.
Nick Josevski

Cuando dices, git push origin my-local-master:master¿qué quiere decir con my-local-master? Si tengo un nombre de CSS-pix de mi carpeta que quiero insertar
Nofel

187

Estaba teniendo el mismo problema y luego me golpeé en la cabeza porque en realidad no había agregado mis archivos de proyecto.

git add -A
git commit -am "message"
git push origin master

Sí, había intentado lo siguiente, pero la solución para mí era usar su comando en su lugar: git add * La sintaxis correcta era: git add.
Eric Martindale

55
Hizo lo MISMO ... jeesh. ¡Gracias!
cbmeeks

28

Tuve el mismo problema. Eliminé la carpeta .git y seguí los siguientes comandos

  1. $ git init
  2. $ git add .
  3. $ git remote add origin git@gitorious.org:project/project.git
  4. $ git commit -m "Initial version"
  5. $ git push origin master

9

Tengo el mismo problema Se solucionó mi problema. Si inicias tu git. tienes que hacer en la Terminal

1) git add .

2)git commit -m "first commit"

Para enviar a bitbucket

3) git push -u origin --all # pushes up the repo and its refs for the first time


6

Simplemente tuve el mismo problema al crear mi primer repositorio de Git. Tuve un error tipográfico en la creación remota de origen Git; resulta que no escribí en mayúscula el nombre de mi repositorio.

 git remote add origin git@github.com:Odd-engine

Primero quité el viejo control remoto usando

git remote rm origin

Luego recreé el origen, asegurándome de que el nombre de mi origen estuviera escrito EXACTAMENTE de la misma manera que se deletreaba mi origen.

git remote add origin git@github.com:Odd-Engine

¡No más errores! :)


4

Tuve el mismo error, ya que Bombe dijo que no tenía una rama local llamada master en mi configuración, aunque git branchsí enumeraba una rama llamada master ...

Para solucionarlo, simplemente agregue esto a su .git / config

[branch "master"]
    remote = origin
    merge = refs/heads/master

Un poco hacky pero hace el trabajo


3

asegúrese de estar en una rama, al menos en la rama maestra

tipo:

git branch

deberías ver:

ubuntu-user: ~ / git / turmeric-releng $ git branch

* (no branch)
master

luego escriba:

git checkout master

entonces todos sus cambios encajarán en la rama maestra (o la rama que elija)


2

Para resolver realmente el problema, utilicé el siguiente comando para organizar todos mis archivos en el commit.

$ git add .
$ git commit -m 'Your message here'
$ git push origin master

El problema que tuve fue que el comando -u en git add en realidad no agregaba los nuevos archivos y el comando git add -A no era compatible con mi instalación de git. Por lo tanto, como se menciona en este hilo, el commit que estaba tratando de representar estaba vacío.


¡funcionó para mí! Lo intenté con demasiados comandos y nada cambió ... ¡pero esta fue la solución para mí!
karensantana

1

arreglé mi problema ...

no estoy seguro de cuál era el problema, pero usando la interfaz gitx para confirmar mis archivos almacenados, entonces ...

$ git push origin master

trabajó...

Estoy teniendo el mismo problema...

creó una nueva carpeta agregada en los archivos de plantilla bort ...

$ git commit -m 'first commit'

$ git remote add origin git@github.com:eltonstewart/band-of-strangers.git

$ git push origin master

entonces me sale el mismo error ...

error: src refspec master no coincide con ninguno.
fatal: el extremo remoto colgó inesperadamente
error: no se pudieron enviar algunas referencias a 'git@github.com: eltonstewart / band-of-strangers.git'


1
error: failed to push some refs to 'git@github.com:{username}/{projectname}.git'

A menos que esté generalizando el mensaje de error, parece que literalmente lo puso git@github.com:{username}/{projectname}.gitcomo su repositorio remoto de Git. Debe completar {username}con su nombre de usuario de GitHub y {projectname}con el nombre de su proyecto.


1
cd  app 

git init 

git status 

touch  test 

git add . 

git commit  -a  -m"message to log " 

git commit  -a  -m "message to log" 

git remote add origin 

 git remote add origin git@git.google.net:cherry 

git push origin master:refs/heads/master

git clone git@git.google.net:cherry test1

1

Tuve el mismo problema Había creado por error el directorio en la máquina en minúsculas. Una vez cambiado el caso, el problema se resolvió (pero desperdicié mis 1.5 horas :() Verifique que el nombre de su directorio y el nombre del repositorio remoto sean los mismos.


1

Parece que esta pregunta ya tiene varias respuestas, pero me pesaré con la mía ya que no he visto ninguna que aborde el problema que tuve.

También tuve este error en un nuevo repositorio de github. Resulta que el usuario que estaba presionando no tenía acceso de inserción. Por alguna razón, esto da como resultado un error "ERROR: repositorio no encontrado" en lugar de algún tipo de error de acceso.

De todos modos, espero que esto ayude a la pobre alma que se encuentra con el mismo problema.


1

Tuve el mismo problema hace un minuto y luego lo arregló

crear un repositorio en github llamado wordpress ...

cd wordpress
git init
git add -A
git commit -am “WordPress 3.1.3″ or any message
git remote add origin git@github.com:{username}/wordpress.git
git push -u origin master

Esto debería funcionar para resolver el problema refspec


Gracias, está funcionando para mí ... ¿puedo saber cuál es la diferencia entre "git add"? y "git add -A"
Satish Karuturi

no hay diferencia si está en v 2.x solo importa si está en la tabla de verificación 1.x para futuras referencias: stackoverflow.com/a/26039014/640727
David Chase

0

Inmediatamente puse un espacio después del - así que en lugar de -m que tenía - m Solo algo que buscar.


0

Creo que en la versión anterior de git, primero debe confirmar al menos un archivo, y luego puede "empujar el maestro de origen" una vez más.


0

genial ... es el problema con el directorio vacío, nada más. Resolví mi problema creando un archivo binario en cada directorio y luego los agregué.


0

Add & commit inicial funcionó a las mil maravillas. Supongo que es solo una cuestión de entender la metodología de Git para administrar un proyecto dentro del repositorio.

Después de eso, me las arreglé para enviar mis datos directamente sin problemas.


0

Acabo de encontrar este problema, y ​​parece que fue causado por no agregar un mensaje de confirmación personalizado por encima del mensaje de confirmación predeterminado (pensé, ¿por qué escribir "confirmación inicial", cuando dice claramente lo mismo en el texto generado por Git Por debajo de eso).

El problema se resolvió cuando eliminé el directorio .git, reinicié el directorio del proyecto para Git, volví a agregar el control remoto de GitHub, agregué todos los archivos a la nueva etapa, me comprometí con un mensaje personal sobre el mensaje generado automáticamente y presioné para origen / maestro.


0

Cuando crea un repositorio en Github, agrega un archivo README.md al repositorio y dado que este archivo podría no estar allí en su directorio local, o tal vez podría tener un contenido diferente, podría fallar la inserción de git. Para resolver el problema que hice:

git pull origin master
git push origin master

Esta vez funcionó ya que tenía el archivo README.md.


0

Antes de la primera confirmación, intente agregar algún archivo como readme.txt. Esto "forzará" al repositorio remoto a crear la rama maestra en caso de que no exista. Me ha funcionado.


0

Esta es una pregunta muy antigua, pero para todas las personas nuevas que terminarán aquí como yo. Esta solución es solo para

error: src refspec master does not match any.

error para nuevo repositorio creado

Necesitas agregar tu

git config user.email "your email"
git config user.name "name"

Solo después de agregar el correo electrónico y el nombre, agregue archivos a git y commit

git add .
git commit -m "message"

Funcionará como encanto


0

También tengo este error, puse un commit para no empujar un proyecto vacío como lo hace mucha gente pero no funciona

El problema fue el ssl, puse el siguiente

git config --sistema http.sslverify falso

Y después de eso todo funciona bien :)

maestro de origen git push


0

Yo estaba teniendo el mismo problema / error.I estaba haciendo git push -u origin masteren su lugar yo sólo hice git push origin mastery funcionó.


0

vaya al panel de control -> administre sus credenciales y elimine las credenciales de github si las hay.


0

Chocando un hilo viejo.

Si ha creado un repositorio en Github con una Readmeo una.gitignore , es posible que deba cambiar la base del maestro local con el maestro remoto. Porque, si está utilizando una herramienta de andamiaje de proyectos, como create-app, crea estos archivos por usted, y el maestro remoto debe sincronizarse con su local antes de presionar.

Si está creando un repositorio vacío en Github, simplemente puede presionar.


-1

Tuve el mismo problema, algunos de los usuarios han respondido esto. Antes de empujar debe tener su primer compromiso. Ahora, para los nuevos usuarios, he creado una serie de pasos simples. Antes de eso, debes instalar git y ejecutarlo en la línea de comandos:

  • git config user.email "su correo electrónico"
  • git config user.name "nombre"

Los pasos para crear un repositorio remoto (uso Dropbox como repositorio remoto):

1. create a directory in Dropbox (or on your remote server)
2. go to the Dropbox dir (remote server dir)
3. type git command: git init --bare
4. on your local drive create your local directory
5. go to local directory
6. type git command: git init
7. add initial files, by typing git command:: git add <filename> 
8. type git command: git commit -a -m "initial version" (if you don't commit you can't do the initial push
9. type git command: git remote add name <path to Dropbox/remote server> 
10. git push name brach (for first commit the branch should be master)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.