【发布时间】:2021-04-18 11:29:28
【问题描述】:
我无法让git-credential-manager.exe 使用 WSL(最新的 Ubuntu 发行版)。我在 Stackoverflow 上看到了各种关于此的问题,但没有为我回答。
我的情况很简单。一切都是最新的。
git 安装在 WSL 中。
git is already the newest version (1:2.25.1-1ubuntu3.1).
Windows 版 Git 安装在 Windows 中(Git for Windows v2.31.1,“最新更新:2021 年 3 月 27 日”)。
更糟糕的是:我已经完全重新安装了 Windows,然后设置了 WSL 并在上面放置了一个新的 Ubuntu 实例,Windows 与 git still 的集成完全失败了,所以如果我做错了什么,我真的会感谢知道那是什么! ????
现在,在 WSL 中,我已经设置了 git-credential-manager 以在 Windows 上使用 Git。 sudo vi /usr/bin/git-credential-manager,然后添加:
#!/bin/sh
exec "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe" $@
保存文件,然后sudo chmod +x /usr/bin/git-credential-manager
好的,所以一切都(据说)设置好了。在我的 git 项目中,我输入 git push -u origin master。
Windows 凭据管理器的 Git 弹出打开,询问我的凭据,所以我输入了它们。然后一切都失败了:
Logon failed, use ctrl+c to cancel basic credential prompt.
Username for 'https://github.com':
我可以在命令行上手动输入我的用户名和密码,这确实有效,但是 a) 我必须每次都这样做,并且 b) Github 会在几秒钟内取消这个选项几个月的时间。
总结:
- 在 Windows 中,我可以毫无问题地推送我的 PowerShell 项目,Windows 版 Git 会处理我的授权(因此我每次推送时都不需要输入用户名/密码)。
- 在 WSL Ubuntu 中,当我推送我的 bash/python 项目时,Git for Windows 凭据管理器会弹出(每次)以询问我的用户名/密码,但随后完全无法授权 (
Logon failed, use ctrl+c to cancel basic credential prompt),我必须在 bash 中手动输入用户名/密码到 git(每次)。
对此的任何建议都将不胜感激,因为没有我读过的无缝 WSL 操作应该是可能的,这令人沮丧,更糟糕的是,当 Github 阻止从控制台。
【问题讨论】:
-
这不会回答您的问题,IK 这就是为什么我使用 cmets 而不是答案...如果您遇到此类问题,可以使用 GitHub CLI。在 WSL 中安装它,它不会每次都询问你 OAuth。
-
好的,我想你在说这个? dev.to/sisodiya2421/get-github-cli-in-wsl2-4d6n我从来没有用过,但这可能很好,我只用过 Github,所以这可能就是我所需要的。
-
是的,就是这个!! :)
标签: git github windows-subsystem-for-linux