Git凭证助手不';无法在linux的windows子系统上工作
我在Windows10上的WSL中使用Ubuntu,我在WSL中安装了git,并定期使用它。我有一个非常恼人的问题,我试图缓存我的github凭据,这样我就不必在提交时不断输入用户名/密码,但它不起作用。我遵循github verbaitim提供的确切说明。首先,我进入:Git凭证助手不';无法在linux的windows子系统上工作,git,github,windows-subsystem-for-linux,Git,Github,Windows Subsystem For Linux,我在Windows10上的WSL中使用Ubuntu,我在WSL中安装了git,并定期使用它。我有一个非常恼人的问题,我试图缓存我的github凭据,这样我就不必在提交时不断输入用户名/密码,但它不起作用。我遵循github verbaitim提供的确切说明。首先,我进入: git config --global credential.helper cache 然后我进入: git config --global credential.helper 'cache --timeout=262980
git config --global credential.helper cache
然后我进入:
git config --global credential.helper 'cache --timeout=2629800'
但是什么也没发生,我仍然需要不断输入我的github用户名和密码
编辑:
为了澄清这一点,我是通过ubuntu wsl上的bash终端完成的,而不是使用windows版本的git。我使用的是ubuntu中包含的git版本。我输入的所有这些命令都是linux命令。原因可能是WSL中不完全支持Unix域套接字 您可以改用windows凭据管理器: 在链接中,以下是如何启用它: git config--global credential.helper“/mnt/c/Program\Files/git/mingw64/libexec/git core/git credential manager.exe”
您可以使用SSH而不是HTTP。一旦设置好,您只需在启动WSL时输入SSH密码 在WSL2上尝试了几种方法之后,这对我来说是有效的。我选择在WSL而不是Windows中托管SSH密钥 如果您还没有按照GitHub的指南进行操作,请按照GitHub的指南进行操作。请确保在本页顶部附近选择“Linux”(用于WSL) 安装: 然后将以下行添加到shell的配置文件中(可能是
~/.bashrc
或~/.zshrc
):
现在,您只需在启动WSL时输入密码
感谢Birk Holland在Windows和WSL 2之间共享SSH密钥。遇到此问题时,您是通过WSL命令行使用WSL Git还是在Win32程序中使用Git?另外,我认为您是在WSL命令行(bash或类似)中输入的?我在WSL命令行中使用的是git,而不是windows版本的git,所有这些命令都是在ubuntu WSL bash终端中输入的,这可能是感谢您这个解决方案完美工作的原因!希望将来WSL的更新能让Unix域套接字正常工作,人们不需要在windows上安装git
sudo apt install keychain
eval `keychain --quiet --eval --agents ssh id_rsa`