GIT : Authentification http(s) automatique
Si on utilise un projet GIT via une connexion http(s) nécessitant une authentification, il est donc nécessaire de s'authentifier à chaque pull et commit effectués.
Ca devient vite contraignant au bout d'un moment.
Il est donc possible d'enregistrer dans un fichier les paramètres de connexion.
Le fichier ~/.gitconfig :
[user]
name = monNom
email = monEmail
[credential]
helper = store
[http]
sslVerify = false
postBuffer = 524288000
[credential "http://monDepotGit.com"]
username = monUser
[credential "https://monDepotGit.com"]
username = monUser
- La section [user] contient les infos personnelles (nom, email etc etc ...)
- Le fichier doit contenir la section [credential] avec la variable helper = store
- La section [http] avec la variable sslVerify = false permet de se connecter en https sur un dépot GIT avec un certificat non reconnu (auto-signé)
La variable postBuffer = 524288000 permet de résoudre l'erreur suivante lors des commits:
error: RPC failed; result=22, HTTP code = 411
Cela permettra à tous les projets locaux d'envoyer jusqu'à 500 Mo de données.
- Enfin, la section [credential "adresse http(s)"] contient l'adresse http(s) du dépot GIT ainsi que le username correspondant. La section est répétée autant de fois qu'il y a d'adresses différentes de dépots GIT.
Le fichier ~/.git-credentials :
Ce fichier contient le username associé au mot de passe et à l'adresse http(s) renseignée dans le fichier ~/.gitconfig
Ce fichier doit être lisible uniquement par le user concerné (chmod 0600).
http://monUser:monPassword@monDepotGit.com
https://monUser:monPassword@monDepotGit.com
Si le username et/ou le password contient un des caractères spécifiques à la chaine de connexion (:/@), il est obligatoire de l'écrire en hexadécimal.
@ = %40 en hexadécimal
Sinon, le simple fait de créer le fichier ~/.git-credentials et de lui attribuer le bon mode 0600, il sera automatiquement complété avec le bonne combinaison user:password@adresseHttps à la première utilisation de la comme git pull (par exemple).
Ajouter un commentaire