Cómo hacer que git no pregunte por el password (credencial) para automáticamente añadir archivos con Add, hacer commit y push con Script
Si usted tiene varios repositorios de git en Linux y a todos los modifica frecuentemente tal vez está cansado de siempre tener que hacer add, commit y push en cada uno de ellos para enviar los cambios a github además de siempre tener que poner usuario y contraseña. La siguiente es la solución para que ya no se vuelva a preguntar por la contraseña y hacer un script para automáticamente subir los cambios con push a todos los repositorios remotos
IDENTIFICARSE EN GIT
Para que esto funcione usted debe
identificarse en Git para que sepa quién es, si ya lo hizo omita este
paso, pero si no lo ha hecho ponga los siguientes comandos uno por uno
para añadir el nombre de usuario, correo, y su contraseña (modifique con
sus datos):
git config --global user.name "suusuario"
git config --global user.email su.correo@gmail.com
git config --global user.pass su-contraseña
Al hacer esto se habrá creado el archivo ~/.gitconfig que ahora tendrá los siguientes datos:
[user]
name = suusuario
email = su.correo@gmail.com
pass = su-contraseña
Si
en algún momento quiera usted hacer alguna modificación puede editar el
archivo .gitconfig con gedit u otro editor de textos ejemplo:
gedit ~/.gitconfig
aquí una imagen:
ALMACENAR CREDENCIALES EN GIT PARA QUE YA NO LAS VUELVA A PEDIR
Inicie el siguiente comando para activar el almacenamiento de credenciales para todos (global, en su ordenador) los repositorios (significa que de aquí en adelante ningún repositorio le volverá a pedir sus credenciales):
git config --global credential.helper store
Cuando el almacenamiento de credenciales está habilitado, la primera vez que haga push o pull a cualquier repositorio remoto de Git se le pedirá por ultima vez el nombre de usuario y contraseña y se guardarán en el archivo:
~/.git-credentials
aquí pongo una imagen del archivo:
desde
ese momento en adelante durante las próximas comunicaciones con el
repositorio remoto de Git ya no tendrá que proporcionar el nombre de
usuario y la contraseña.
Cada credencial en el archivo ~/.git-credentials se almacena en su propia línea como una URL así como la siguiente:
https://<USERNAME>:<PASSWORD>@github.com
Actualizar el Token
Cuando se caduque el Token usted puede editar el archivo git-credentials abriendolo con Gedit u otro editor de textos:
gedit ~/.git-credentials
aquí pongo una imagen:
y allí cambie el token por el nuevo que haya generado
CONSULTAS:
https://www.shellhacks.com/git-config-username-password-store-credentials/
HACER EL SCRIPT PARA AÑADIR LOS ARCHIVOS CON ADD, HACER COMMIT Y PUSH VÍA BATCH
Abra Gedit y pegue lo siguiente:#!/bin/bash
### Proyecto 1 ###
cd /home/wachin/github-2/icon-theme-linux-development/
git add .
git commit -m "Guardar automáticamente el commit $(date)"
git push origin master
### Proyecto 2 ###
cd /home/wachin/github-2/Ubuntu-WachiManuales-A-L/
git add .
git commit -m "Guardar automáticamente el commit $(date)"
git push origin master
recuerde que debe cambiar la ruta por la ruta donde están sus repositorios, vea el ejemplo de mi primer repositorio:
y ahora mi segundo repositorio:
Nota: Usted puede hacer esto con todos los repositorios que usted quiera. En este ejemplo están dos, pero usted puede copiar el pegar el texto necesario para añadir otro u otros. Sólo es cuestión de copiar, pegar y cambiar los valores
Guarde el archivo con este nombre (en su HOME):
autosave-script
observe la siguiente imagen:
Ahora ponga en la terminal :
chmod 755 autosave-script
Si usted quiere ver qué es lo que pasa al ejecutar el script, ponga en la terminal:
./autosave-script
aquí les dejo una imagen:
y así se verá:
hacer esto es sólo para ver lo que está pasando (a veces es bueno ver si todo va bien pues puede que alguna vez de algún error por que haya que haber un merge).
Para hacerlo funcionar sin la terminal basta con darle doble clic al archivo para que funcione (aunque no se verá nada de lo que está pasando):
Pros
Este método es bueno para un sólo usuario que use los repositorios y dandole doble clic al script se mantendrán actualizados todos los repositorios
Contras:
Si uno de los repositorios es modificado por otro usuario ya no podrá hacer push hasta hacer un merge.
Si no usa mucho alguno de los repositorios añadidos al script es posible con el paso del tiempo se adelanten muchos commits
Alguna pregunta me dicen.
CONSULTAS:
authentication - Git push requires username and password - Stack Overflow
https://stackoverflow.com/questions/6565357/git-push-requires-username-and-password
github - Git keeps prompting me for a password - Stack Overflow
https://stackoverflow.com/questions/7773181/git-keeps-prompting-me-for-a-password
automatic authentication with svn and git - Ask Ubuntu
https://askubuntu.com/questions/988849/automatic-authentication-with-svn-and-git/988852
PUBLIQUÉ ADEMÁS ESTO MISMO EN:
Git commit and push via batch file on Ubuntu - Ask Ubuntu
https://askubuntu.com/questions/764274/git-commit-and-push-via-batch-file-on-ubuntu/1203474#1203474
Comentarios
Publicar un comentario