Tengo el siguiente problema cuando intento extraer código usando git Bash en Windows:
fatal: could not read Username for 'https://github.com': No such file or directory
Ya intenté implementar la solución aceptada proporcionada aquí:
... pero el problema persiste. Después de agregar / eliminar el origen, sigo recibiendo el mismo error.
git config --global user.name "Your Name Here"
Respuestas:
Siga los pasos para configurar las claves SSH aquí: https://help.github.com/articles/generating-ssh-keys
O
fuente
git remote set-url origin https://{username}:{password}@github.com/...
git remote -v
error: cannot spawn sh: No such file or directory
mensaje ...Enfrenté exactamente el mismo problema. Este problema ocurrió cuando cloné usando HTTPS URL y luego intenté impulsar los cambios usando Git Bash en Windows usando:
Sin embargo, cuando usé la URL SSH para clonar, este problema no ocurrió:
fuente
python:3.7-slim
. Entonces no está relacionado con Windows.Para mí, nada funcionó desde lo sugerido anteriormente, utilizo el
git pull
script de shell de jenkins y aparentemente toma un nombre de usuario incorrecto. Pasé años antes de encontrar una manera de solucionarlo sin cambiar a SSH.En la carpeta del usuario, cree el archivo .gitconfig (si aún no lo tiene) y ponga sus credenciales en el siguiente formato:,
https://user:[email protected]
más información . Después de su archivo .gitconfig, enlace a esas credenciales, en mi caso fue:[credential] helper = store --file /Users/admin/.git-credentials
Ahora git siempre usará esas credenciales pase lo que pase. Espero que ayude a alguien, como me ayudó a mí.
fuente
[credential] helper = store --file /..../.git-credentials
en.git/config
en mi directorio de trabajoTenga en cuenta que si recibe este error en su lugar:
Entonces necesitas actualizar tu Git a la versión
2.16
o posterior.fuente
Encontré mi respuesta aquí :
edite
~/.gitconfig
y agregue lo siguiente:Aunque resuelve un problema diferente, el código de error es el mismo ...
fuente
Si desea continuar, use https en lugar de ssh, y evite ingresar su nombre de usuario y contraseña por razones de seguridad.
También puede probar el token Github OAuth , luego puede hacerlo
git config remote.origin.url 'https://{token}@github.com/{username}/{project}.git'
ogit remote add origin 'https://{token}@github.com/{username}/{project}.git'
¡Esto funciona para mí!
fuente
Este error también puede ocurrir al intentar clonar una URL HTTP no válida. Por ejemplo, este es el error que recibí al intentar clonar una URL de GitHub que tenía algunos caracteres de diferencia:
Sin embargo, en realidad sucedió dentro de Emacs, por lo que el error en Emacs se veía así:
Entonces, en lugar de un error útil que decía que no había tal repositorio en esa URL, me dio eso, enviándome a una búsqueda inútil hasta que finalmente me di cuenta de que la URL era incorrecta.
Esto es con la versión 2.7.4 de git.
Estoy publicando esto aquí porque me sucedió hace un mes y nuevamente ahora, enviándome a la misma búsqueda inútil nuevamente. > :(
fuente
Respuesta corta:
Ignore las primeras tres líneas si no es un repositorio nuevo.
Descripción más larga:
Simplemente tuve el mismo problema, ya que ninguna de las respuestas anteriores me ayudó, he decidido publicar esta solución que funcionó para mí.
Algunas notas:
Como herramienta de línea de comandos usé GitShell (para Windows, uso Terminal.app en Mac).
GitShell es una herramienta oficial de GitHub, se puede descargar desde https://windows.github.com/
Espero que esto ayude a cualquiera que tenga el mismo problema.
fuente
Arreglé esto instalando una versión más nueva de Git. La versión que instalé es 2.10.2 de https://git-scm.com . Vea la última publicación aquí: https://www.bountysource.com/issues/31602800-git-fails-to-authenticate-access-to-private-repository-over-https
Con el Git Bash más reciente, aparece la ventana del administrador de credenciales y puede ingresar su nombre de usuario y contraseña, ¡y funciona!
fuente
Este es un problema con sus credenciales almacenadas en la caché de credenciales del sistema. Probablemente tenga la variable de configuración 'credential.helper' configurada en wincred o winstore y no la borre. Si inicia el Panel de control y ejecuta el subprograma Credential Manager, busque elementos en la sección de credenciales genéricas etiquetadas "git: https://github.com ". Si los elimina, la próxima vez se volverá a crear, pero la utilidad de ayuda de credenciales le pedirá sus nuevas credenciales.
fuente
git config --global -l | grep credential
. Si hay algún resultado, esa será la utilidad que intentará enviar sus credenciales almacenadas al servidor cuando presione.git remote add origin https://github.com/username/Hello-World.git
lousername
que está vinculado a este enlace de repositorio de git está causando problemas, no creo que mi PROPIO nombre de usuario esté causando problemas aquí. Hasta donde yo sé, Credential manger ayuda a administrar las credenciales personales, no las credenciales del repositorio.Reemplace su URL remota de esta manera:
fuente
TL; DR: compruebe si puede leer / escribir
/dev/tty
. Si no y ha utilizadosu
para abrir el caparazón, compruebe si lo ha utilizado correctamente.Estaba enfrentando el mismo problema pero en Linux y encontré el problema. No tengo mis credenciales almacenadas, así que siempre las ingreso cuando se le solicita:
La forma en que git maneja las conexiones http (s)
/usr/lib/git-core/git-remote-https
se puede ver aquí:Así que intenté llamarlo directamente:
y el resultado:
Y aquí vino a mí:
git-remote-https
intenta leer las credenciales a través,/dev/tty
así que probé si funciona:Pero en otra terminal:
Sabía que había cambiado a este usuario,
su
así que salí del shell para ver cómo y descubrí que usé el comando,su danman -
así que lo probé nuevamente:Probablemente ignoré el mensaje y seguí trabajando, pero esta fue la razón. Cuando cambié usando el correcto,
su - danman
todo funcionó bien:Después de esto, git comenzó a funcionar correctamente
fuente
Para aquellos que reciben este error en una canalización de Jenkins, se puede solucionar mediante un complemento de agente SSH . Luego envuelve tus comandos git en algo como esto:
fuente
Al probar la solución CreativeMagic, se confirma el problema de credenciales:
prompt >>> Nombre de usuario para ' https://github.com '
Entonces, cambié mi URL de origen con
y
fuente
Intente usar un shell normal de Windows como CMD.
fuente
Antes, cuando no me concedieron permiso para acceder al repositorio, también agregué SSH pubkey a gitlab. En el momento en que pude acceder al repositorio y ejecutar go mod vendor, ocurre el mismo problema que el tuyo. (tal vez por el caché)
Después de intentarlo durante un tiempo, decido eliminar la clave SSH y los mensajes de la terminal completando el nombre de usuario y la contraseña. ¡Entonces todo está bien!
fuente
Lo que funcionó para mí es cambiar el acceso al repositorio de Git de privado a público.
fuente