Cada vez que trato de entrar en mi repositorio pregunta por los dos username & password
.
No tengo problemas para volver a ingresar mi contraseña cada vez, pero el problema está en ingresar el nombre de usuario. Yo uso https
para clonar mi repositorio.
Entonces, ¿cómo puedo configurar git para que no pida username
en cada uno git push
?
Soy nuevo en Linux, pero IIRC en Windows git push
solo pide contraseña.
Respuestas:
Editar (por @ dk14 según lo sugerido por los moderadores y comentarios)
ADVERTENCIA: si utiliza
credential.helper store
la respuesta, su contraseña se almacenará completamente sin cifrar ("tal cual") en~/.git-credentials
. Consulte la sección de comentarios a continuación o las respuestas de la sección "Vinculado", especialmente si su empleador tiene tolerancia cero para los problemas de seguridad.Aunque se acepta, no responde a la pregunta real del OP sobre omitir solo un nombre de usuario (no contraseña). Para los lectores con ese problema exacto, la respuesta de @grawity podría ser útil.
Respuesta original (por @Alexander Zhu):
Puede almacenar sus credenciales con el siguiente comando
También te sugiero que leas
$ git help credentials
fuente
git config --unset credential.helper
Puede lograr esto en el
.git/config
archivo de su repositorio local. Este archivo contiene una sección llamada 'remota' con una entrada llamada 'url'. La entrada 'url' debe contener el enlace https del repositorio del que está hablando.Cuando prefija la 'url' del host con su nombre de usuario,
git
ya no debería pedirle su nombre de usuario. Aquí hay un ejemplo:fuente
git config credential.helper store
.username for https://gitlab.com:
unable to access 'https://<me>@bitbucket.org:<x>/<y>.git/': Illegal port number
Autenticación permanente con repositorios Git
Ejecute el siguiente comando para habilitar el almacenamiento en caché de credenciales:
El uso también debe especificar el vencimiento del almacenamiento en caché
Después de habilitar el almacenamiento en caché de credenciales, se almacenará en caché durante 7200 segundos (2 horas) .
Leer credenciales Docs
fuente
git config credntial.helper store
ese comando peligroso, el responsable de almacenar las credenciales de texto sin formato en el archivo ~ / .git-credentials? Creo que (y en mi experiencia) el comando ... caché ...- es suficiente:git config --clogal credential.helper 'cache --timeout 7200'
crea el directorio:~/.git-credential-cache
con el archivo de caché, así que simplemente ejecute este comando y NO el comando "... store"Agregue nuevas claves SSH como se describe en este artículo en GitHub .
Si Git aún le pide nombre de usuario y contraseña, intente cambiar
https://github.com/
a[email protected]:
URL remota:fuente
git config remote.origin.url "ssh://git@yourRepoHost/yourRepoName.git"
La forma más fácil que encontré fue con este comando:
Esto funciona sitio por sitio y modifica su configuración global de git.
Para ver los cambios, use:
fuente
Si está utilizando https en lugar de ssh, puede editar "url"
.git/config
como dice user701648, pero si lo desea, también puede agregar la contraseña:fuente
@
incluido en mi contraseña?url = https://username:abc@[email protected]
Me está dando un error queCould not resolve host: @[email protected]
username
parte parece ignorarse cuando el servidor redirige (como de FOO a FOO.git).Puede configurar su nombre de usuario para todos los repositorios en un sitio determinado poniendo algo como lo siguiente en su archivo de configuración de Git. Querrá cambiar " https://example.com " y "yo" a la URL real y su nombre de usuario real.
(Esto es directamente de "credenciales de ayuda git")
fuente
Cambiar el repositorio clonado funciona:
El uso de credenciales almacenadas en caché funciona, y establecer el tiempo de espera hace que las cosas sean menos molestas. Si usa el asistente de credenciales de Windows, ese debería ser el método más fácil (especialmente si SSH está bloqueado).
fuente
Asegúrese de estar utilizando SSH en lugar de http. Comprueba esta respuesta SO.
fuente
http
porque en mi universidadssh
está bloqueado por el departamento de administración del sistema.git config - global credential.helper cache
fuente
Además de la respuesta del usuario 701648, puede almacenar sus credenciales en su carpeta de inicio (global para todos los proyectos), en lugar de la carpeta del proyecto utilizando el siguiente comando
fuente
Cuando solo git pull, git pull origin xxx, git solicita nombre de usuario y contraseña.
funciona.
fuente
La forma más fácil es crear un
~/.netrc
archivo con los siguientes contenidos:(como se muestra aquí: https://gist.github.com/ahoward/2885020 )
Incluso puede cerrar los permisos en este archivo para que nadie pueda leer su contraseña escribiendo:
fuente
Si usa la versión SSH , no tendrá ningún problema con las contraseñas. Solo una vez que genera la clave SSH , para decirle a git, que esta PC funcionará con esto Solo cuenta de github y nunca me preguntará nuevamente sobre ningún acceso (para esta PC).
Cómo generar SSH para Github
fuente
Para evitar ingresar el nombre de usuario, pero aún se le pedirá que ingrese una contraseña, simplemente puede clonar su repositorio, incluido el nombre de usuario:
fuente
$ git config credential.helper store
$ git push / push https://github.com/xxx.git
Luego ingrese su nombre de usuario y contraseña.
fuente
git push/push https://github.com/xxx.git
que debería sergit push https://github.com/xxx.git
ssh
+key authentication
es una forma más confiable quehttps
+credential.helper
Puede configurar el uso de SSH en lugar de HTTPS para todos los repositorios de la siguiente manera:
url.<base>.insteadOf
está documentado aquí .fuente
Método rápido
obtenga la URL de su git cuando esté dentro del directorio de trabajo:
entonces :
pedirá nombre de usuario y contraseña la última vez
hecho.
fuente
Puedes correr
después de instalar e iniciar sesión en GIT para Windows en su sistema.
fuente
(Solo para Mac OS)
para Windows y Linux , consulte el enlace de documentación de Github mencionado a continuación.
De la documentación de Github: Enlace de documentación
Almacenamiento en caché de su contraseña de GitHub en Git
Necesita Git 1.7.10 o posterior para usar el asistente de credenciales osxkeychain.
para descubrir que el asistente de osxkeychain ya está instalado:
Si obtiene la siguiente respuesta, ya la tiene instalada y lista para usar en su Mac:
Si no obtiene una respuesta como se muestra arriba, puede instalarla ejecutando el siguiente comando:
para decirle a git que use globalmente osxkeychain para las credenciales de git:
Se le solicitará una vez antes de guardar las credenciales en el llavero .
fuente