Incapaz de Git push maestro para Github - 'origen' no parece ser un repositorio git / ha denegado el permiso

StackOverflow https://stackoverflow.com/questions/922210

  •  06-09-2019
  •  | 
  •  

Pregunta

Esta pregunta se relaciona con mi problema en la comprensión rebase, rama y combinar , y al problema

  

¿Cómo se puede confiar a su cuenta de GitHub y cuando usted tiene un compañero de equipo en la lista de control remoto?

descubrí que otras personas han tenido el mismo problema. El problema parece estar relacionado con /etc/xinet.d /.

Problema: No se puede empujar mi rama local a mi rama principal en Github

corro

git push origin master

consigo

fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

El mensaje de error que me indica que la rama de 'origen' no está en mi repositorio git local. De esta manera, Git deja de conexión a Github.

Esto es extraño, ya que no he quitado la rama de 'origen'.

Mi árbol git es

  dev
* master
  ticgit
  remotes/Math/Math
  remotes/Math/master
  remotes/origin/master
  remotes/Masi/master

¿Cómo se puede empujar a su sucursal local para Github , mientras tiene rama de un compañero de equipo en el local de Git?


La respuesta de VonC resuelve el problema principal. Pongo un passphares a mis claves ssh.

corro

$git push github master     

consigo

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Parece que tengo que dar la contraseña para Git alguna manera.

¿Cómo puede hacer Github pedirá su frase de contraseña en lugar de depender de la clave ssh?

¿Fue útil?

Solución

¿Qué hace

$ git config --get-regexp '^(remote|branch)\.'

retornos (ejecutados dentro de su repositorio git)?

Origen es sólo un defecto convención de nomenclatura para referirse a un repositorio Git remoto.

Si no se refiere a GitHub (sino más bien un camino a su compañero de equipo repositorio, camino que puede que ya no sea válido o está disponible), sólo tiene que añadir otro origen, como en este entrada Bloggitation

$ git remote add origin2 git@github.com:myLogin/myProject.git
$ git push origin2 master

(De hecho, me utilizar el nombre 'github' en lugar de 'origen' o 'origen2')


  

Permiso denegado (publickey).
  fatal: El extremo remoto colgó inesperadamente

Compruebe si su identidad GitHub se declara correctamente en su repositorio Git local, tal como se menciona en la guía GitHub Ayuda . (Tanto user.name y github.name - y github.token)

A continuación, stonean el blog sugiere (como se hace Marcio García ):

$ cd ~/.ssh
$ ssh-add id_rsa

Balkan Aral añade: crear un archivo de configuración

  

La solución fue crear un archivo de configuración en ~ / .ssh / como se indica en la fondo de la sección OS X de esta página .

     

Aquí está el archivo que he añadido, de acuerdo con las instrucciones de la página, y mis empujones comenzó a trabajar de nuevo:

Host github.com
User git
Port 22
Hostname github.com
IdentityFile ~/.ssh/id_rsa
TCPKeepAlive yes
IdentitiesOnly yes

También puede publicar el resultado de

ssh -v git@github.com

para tener más información de por qué conexión ssh GitHub te rechaza.

También puedes ver que hizo introducir correctamente su clave pública (que necesita para terminar con '==').
No pegue su clave privada, pero su ser pública. Una clave pública se vería algo como:

ssh-rsa AAAAB3<big string here>== tek...@gmail.com 

(Nota:? ¿Usó una frase de contraseña para sus claves ssh Sería más fácil sin una contraseña)

Compruebe también la URL utilizada cuando se empuja (git@github.com/..., no git://github.com/...)

Asegúrate de que tienes un agente SSH para usar y almacenar en caché su clave.

Prueba esto:

 $ ssh -i path/to/public/key git@github.com

Si eso funciona, entonces significa que su clave no está siendo enviada a GitHub por su cliente SSH.

Otros consejos

Este es un problema con el mando a distancia. Cuando lo haga git push origin master, origin es el control remoto y master es la rama que está empujando.

Al hacer esto:

git remote

apuesto a la lista no incluye origin. Para volver a agregar el control remoto origen:

git remote add origin git@github.com:your_github_username/your_github_app.git

O, si es que existe, pero tiene un formato incorrecto:

git remote rm origin
git remote add origin git@github.com:your_github_username/your_github_app.git

La respuesta de VonC es mejor, pero la parte que funcionó para mí fue muy simple y es una especie de enterrado entre muchas otras respuestas posibles. Si usted es como yo, que se encontró con este problema durante la ejecución de un "inicio con rieles" tutorial y que no habían configurar sus claves SSH públicas / privadas.

Si es así, intente lo siguiente:

  1. $>cd ~/.ssh

  2. $>ls

  3. Si la salida 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 origen maestro" trabajaron.

Tengo el mismo problema y creo que el firewall está bloqueando el protocolo git. Así que al final tengo que recurrir al uso de https: // a buscar y empuje. Sin embargo, esto siempre se le pedirá al usuario que introduzca la contraseña ...

aquí es el ejemplo de trabajo lo que para mí (sólo para compartir con los que su uso no puede git: // protocolo :)

git fetch https://[user-name]@github.com/[user-name]/[project].git

Si lo anterior funciona, puede eliminar el origen y reemplazar con

git remote rm origin  
git remote add origin https://[user-name]@github.com/[user-name]/[project].git

Creo que es otro caso de mensajes de error git ser engañosa. Por lo general, cuando he visto que el error es debido a problemas de SSH. ¿Ha agregado su clave pública SSH a su cuenta de GitHub?

Edit: Además, el mensaje del foro xinet.d se refiere a la ejecución de la git-daemon como un servicio para que la gente pudiera tirar de su sistema. No es necesario ejecutar git-daemon para empujar a github.

Tengo el mismo problema y me acaba de agregar el contenido de ~ / .ssh / id_rsa.pub a mi cuenta en GitHub. Después de eso, intentarlo de nuevo git push origin master, que debería funcionar.

Se clave para recordar es 'origen' no es el valor que puede ser necesario el uso de ... funcionó para mí cuando reemplacé 'origen' con el nombre del repositorio.

Una de las posibilidades que las respuestas anteriores no abordan es que puede que no tenga un acceso ssh de su cáscara. Es decir, es posible que en una red (algunas redes universitarias hacen esto) donde el servicio ssh se blocked.In ese caso, no sólo será capaz de obtener servicios de GitHub, sino también cualquier otro servicio SSH. Puede comprobar si este es el problema al tratar de utilizar cualquier otro servicio cada ssh fue el caso conmigo.

he tenido este problema y trató varias soluciones para resolverlo entre ellos muchos de los mencionados anteriormente (archivo de configuración, depurar ssh, etc.). Al final, decidí que al incluir la -u en el interruptor de git push, según las instrucciones de GitHub al crear un nuevo repositorio en sitio - Github nuevo Repositorio

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