Pregunta

Tengo un repositorio público en github.com con 2 ramas: master y test

.

He creado un nuevo directorio local y lo hice:

[ ] git clone git@github.com:{username}/{projectname}.git

A continuación, he creado una nueva rama llamada my_test con

[ ] git branch my_test

y cambió a la misma.

[ ] git checkout my_test

A continuación, Fusioné de mi rama test de mi repositorio público con

[ ] git merge origin/test

y resultó en un avance rápido.

he hecho algunos cambios y los entregó. Luego trató de empujar la rama my_test local para la rama test público en github con

[ ] git push git@github.com:{username}/{projectname}.git test 

pero me dio este error:

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

¿Qué estoy haciendo mal?

¿Fue útil?

Solución

Tal vez trate de:

git push git@github.com:{username}/{projectname}.git HEAD:test

El formato del último parámetro en la línea de comandos que es un refspec , que es una fuente de referencia seguido de dos puntos y luego el árbitro destino. También puede usar su nombre de la sucursal local (my_test) en lugar de la cabeza para estar seguro de que está empujando la rama correcta.

La documentación de git push tiene más detalles sobre este parámetro.

Otros consejos

Además, no es necesario que escribir la URL completa cada vez que quiere empujar. Cuando ejecutó el clon, Git guarda esa URL como 'origen', es por eso que se puede ejecutar algo así como 'fusionar origen / prueba' - que significa la rama 'prueba' en su servidor 'origen'. Por lo tanto, la forma más sencilla para empujar a su servidor en ese caso sería:

git push origin my_test:test

que empujará a su sucursal local 'my_test' a la rama 'prueba' en su servidor 'origen'. Si había nombrado su sucursal de la misma como la rama en el servidor, a continuación, los dos puntos no es NECESARIO, sólo tiene que hacer:

git push origin test

Este error también aparece si se intenta empujar a un nuevo repositorio sin tener nada cometido en primer lugar. Proveedores:

git add -A
git commit -am 'Initial commit'

Y luego probar su empuje de nuevo.

Creo que aquí se tendrá que configurar el seguimiento de la rama. Por favor, ejecute lo siguiente para habilitar el seguimiento

git branch --track my_test origin/my_test

Para probar

git push -u origin my_test
git pull origin my_test

Es necesario asegurarse de que su repositorio local tiene el mismo nombre que su repositorio remoto que está tratando de empujar.

En primer lugar, el cambio repositorio utilizando "prueba" rama git -m para que "my_test" sería "prueba". En segundo lugar, simplemente prueba de origen git push

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top