Esta pregunta está relacionada con mi problema para entender rebase, branch and merge , y con el problema
¿Cómo puede comprometerse con su cuenta de github si tiene un teamMate en su lista remota?
Descubrí que otras personas han tenido el mismo problema. El problema parece estar relacionado con /etc/xinet.d/.
Problema: no puedo enviar mi rama local a mi rama principal en Github
Corro
git push origin master
yo obtengo
fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
El mensaje de error me sugiere que la rama 'origen' no está en mi repositorio local de git. De esta forma, Git deja de conectarse a Github.
Esto es extraño, ya que no he eliminado la rama 'origen'.
Mi árbol git es
dev
* master
ticgit
remotes/Math/Math
remotes/Math/master
remotes/origin/master
remotes/Masi/master
¿Cómo puedes enviar tu sucursal local a Github , mientras tienes una sucursal de teamMate en tu Git local?
La respuesta de VonC resuelve el problema principal. Le puse passphares a mis claves ssh.
Corro
$git push github master
yo obtengo
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Parece que necesito dar la frase de contraseña para Git de alguna manera.
¿Cómo puedes hacer que Github te pida tu contraseña en lugar de depender de la clave ssh?
fuente
Respuestas:
Que hace
devuelve (ejecutado dentro de su repositorio de git)?
Origin es solo una convención de nomenclatura predeterminada para hacer referencia a un repositorio Git remoto.
Si no se refiere a GitHub (sino a una ruta al repositorio de su compañero de equipo, ruta que puede que ya no sea válida o ya no esté disponible), simplemente agregue otro origen, como en esta entrada de Bloggitation
(De hecho, usaría el nombre 'github' en lugar de 'origen' u 'origen2')
Comprueba si tu identidad de gitHub está declarada correctamente en tu repositorio de Git local, como se menciona en la guía de ayuda de GitHub . (tanto user.name como github.name - y github.token)
Luego, el blog de Stonean sugiere (al igual que Marcio García ):
Aral Balkan agrega: crea un archivo de configuración
También puede publicar el resultado de
para tener más información sobre por qué la conexión ssh de GitHub lo rechaza.
Verifique también que ingresó correctamente su clave pública (debe terminar con '
==
').No pegues tu clave privada, sino la pública. Una clave pública se vería así:
(Nota: ¿usó una frase de contraseña para sus claves ssh? Sería más fácil sin una frase de contraseña)
Verifique también la URL utilizada al presionar (
[email protected]/...
, nogit://github.com/...
)Compruebe que tiene un agente SSH para usar y almacenar en caché su clave.
Prueba esto:
Si eso funciona, significa que su cliente ssh no está enviando su clave a GitHub.
fuente
Este es un problema con su control remoto. Cuando lo hace
git push origin master
,origin
es el control remoto ymaster
es la rama que está empujando.Cuando haces esto:
Apuesto a que la lista no incluye
origin
. Para volver a agregar el origen remoto:O, si existe pero tiene un formato incorrecto:
fuente
La respuesta de VonC es la mejor, pero la parte que funcionó para mí fue súper simple y está enterrada entre muchas otras respuestas posibles. Si es como yo, se encontró con este problema mientras ejecutaba un tutorial de "introducción a rieles" y NO había configurado sus claves SSH públicas / privadas.
Si es así, intente esto:
$>cd ~/.ssh
$>ls
Si el resultado de ls es
known_hosts
y nada más, visite: http://help.github.com/mac-key-setup/ y comience a seguir las instrucciones de la sección "Generación de una clave" y hacia abajo.Después de ejecutar esas instrucciones, mi comando "git push origin master" funcionó.
fuente
git push origin master.
Era la primera vez que configuraba Git y Rails. Con suerte, esto ayudó a otras personas.Tengo el mismo problema y creo que el firewall está bloqueando el protocolo git. Entonces, al final, tengo que recurrir al uso de https: // para buscar y empujar. Sin embargo, esto siempre le pedirá al usuario que ingrese la contraseña ...
aquí está el ejemplo de lo que funciona para mí (solo para compartir con aquellos que no pueden usar el protocolo git: // :)
si lo anterior funciona, puede eliminar el origen y reemplazarlo con
fuente
~/.netrc
archivo para almacenar la contraseña por usted si lo desea. Lo usacurl
, que es lo que usa git para las transferencias HTTP (S), en caso de que necesite buscar los detalles específicos de cómo usarlo.~/_netrc
('_
', no '.
')Creo que ese es otro caso de mensajes de error de git engañosos. Por lo general, cuando veo ese error se debe a problemas de ssh. ¿Agregaste tu clave ssh pública a tu cuenta de github?
Editar: Además, la publicación del foro xinet.d se refiere a ejecutar git-daemon como un servicio para que la gente pueda extraer de su sistema. No es necesario ejecutar git-daemon para enviar a github.
fuente
Tengo el mismo problema y acabo de agregar el contenido de ~ / .ssh / id_rsa.pub a mi cuenta en GitHub. Después de eso, intente nuevamente
git push origin master
, debería funcionar.fuente
La clave para recordar es que 'origen' no es el valor que puede necesitar usar ... funcionó para mí cuando reemplacé 'origen' con el nombre del repositorio.
fuente
Una posibilidad que las respuestas anteriores no abordan es que es posible que no tenga acceso ssh desde su shell. Es decir, puede estar en una red (algunas redes universitarias hacen esto) donde el servicio ssh está bloqueado, en ese caso no solo podrá obtener servicios github sino también cualquier otro servicio ssh. Puede probar si este es el problema intentando utilizar cualquier otro servicio ssh. Este fue mi caso.
fuente
Tuve este problema y probé varias soluciones para resolverlo, incluidas muchas de las enumeradas anteriormente (archivo de configuración, depuración ssh, etc.). Al final, lo resolví al incluir el interruptor -u en el git push, según las instrucciones de github al crear un nuevo repositorio en el sitio: nuevo repositorio de Github
fuente