J'ai essayé de suivre ces instructions: https://stackoverflow.com/a/40312117/21728 qui font essentiellement ceci:
Sudo apt-get install libsecret-1-0 libsecret-1-dev
cd /usr/share/doc/git/contrib/credential/libsecret
Sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Mais quand je fais une opération réseau, j'obtiens cette erreur:
** (process:7902): CRITICAL **: could not connect to Secret Service: Cannot autolaunch D-Bus without X11 $DISPLAY
C'est logique, je suppose, car il n'y a en effet pas d'affichage X11.
Comment faire fonctionner la mise en cache des informations d'identification Git sur Ubuntu sous Windows (WSL)?
Si vous avez installé Git pour Windows, un gestionnaire d'informations d'identification intégré à Windows est installé sur votre système.
Vous pouvez exécuter des exécutables Windows à partir de WSL tels que trouvés ici .
Pour l'utiliser, vous pouvez exécuter la commande suivante (en supposant que votre git pour Windows est installé sur C:\Tools\Git)
git config --global credential.helper "/mnt/c/Tools/Git/mingw64/libexec/git-core/git-credential-manager.exe"
J'ai créé n script qui fait ça pour vous . Je l'utilise avec mon orchestration Chef.
cmd.exe
et appelez where git-credential-manager.exe
cmd.exe
appel where git.exe
C:\Program Files\Git\cmd\git.exe
C:\Program Files\Git\mingw64\libexec\git-core\git-credential-manager.exe
where
pour obtenir le chemin.Nous devons le faire:
C:\
avec /mnt/c/
\
à /
\\
Alors...
"C:\Program Files\Git\mingw64\libexec\git-core\git-credential-manager.exe"
devient..."/mnt/c/Program\\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"
bash
appelez git config --global credential.helper "<converted/path>"
En utilisant Windows 10 et "WSL", j'ai créé un fichier ~/.gitconfig, mais j'avais mal tapé le libellé de la section [credential] en tant que [credentials]. J'ai essayé d'exécuter git credential fill puis d'alimenter sa sortie en git credential approve, ce qui aurait pu fonctionner, mais je ne le soupçonne pas car il disait "usage: git credential [fill | approve | refuse]". Enfin, j'ai simplement couru:
$ git config --global credential.helper cache
puis a fait un git pull; lorsque je suis invité pour l'utilisateur et le mot de passe, je les ai tapés comme d'habitude. Après cela, il s'en est souvenu. J'ai trouvé qu'il avait ajouté la section (correctement nommée) à mon ~/.gitconfig:
[credential]
helper = cache
J'ai modifié cela pour fournir un délai beaucoup plus long:
[credential]
helper = cache --timeout=144000
Et tout semble bien fonctionner maintenant.