当前位置: 首页 > 知识库问答 >
问题:

如何在 WSL 上使用 Git 凭据存储(在 Windows 上使用 Ubuntu)?

司徒阳曜
2023-03-14

我试着遵循这些说明:https://stackoverflow.com/a/40312117/21728基本上是这样做的:

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

但是当我执行任何网络操作时,我收到此错误:

** (process:7902): CRITICAL **: could not connect to Secret Service: Cannot autolaunch D-Bus without X11 $DISPLAY

我想这是合乎逻辑的,因为确实没有X11显示屏。

如何让Git凭证缓存在Windows上的Ubuntu(WSL)上工作?

共有3个答案

祁权
2023-03-14

利用Windows 10和“WSL”,我创建了一个~/。gitconfig文件,但将[credential]部分标签错误地键入为[credentials]。我尝试运行git credential fill,然后将其输出提供给git credential approve,这可能有效,但我怀疑没有,因为它说“用法:git credential[fill | approve | reject]”。最后,我干脆跑了:

$ git config --global credential.helper cache

然后做了一个git拉取;当提示输入用户和密码时,我像往常一样输入了它们。之后,它记住了它。我发现它已将(正确命名的)部分添加到我的~/. gitconfig中:

[credential]
        helper = cache

我编辑了它以提供更长的超时时间:

[credential]
        helper = cache --timeout=144000

现在一切似乎都运转良好。

臧梓
2023-03-14

我已经为你创建了一个脚本。我用它来配我的厨师配乐。

  • 打开cmd.exe并调用其中git-credential-manager.exe
    • 如果它返回路径,GREAT。继续转换路径。
    • 如果没有…
    • 如果未返回路径,则下一步是单独安装凭据管理器
    • 如果它确实返回了一个路径,它将是这样的:
    • C:\程序文件\Git\cmd\git.exe
    • 让我们删除最后一个斜杠之后的所有内容,并像这样更改它:
    • C:\程序文件\Git\mingw64\libexec\git-core\git-credential-manager.exe
    • 如果存在,那就太好了。继续转换路径。
    • 否则。。。

    我们需要:

    1. C:\替换为/mnt/c/
    2. 将斜杠从\翻转到/
    3. 带有双反斜杠的转义空格(以及括号,如果有的话)\\

    所以……

      < Li > < code >“C:\ Program Files \ Git \ mingw 64 \ lib exec \ Git-core \ Git-credential-manager . exe”变成... < Li > < code > "/mnt/c/Program \ \ Files/Git/mingw 64/lib exec/Git-core/Git-credential-manager . exe "

    我上面的脚本就有这样一个函数

    dos_path_to_linux(){
        sed -e 's?\\?/?g' -e' s?[cC]:?/mnt/c?' <<<"$1"
    }
    

    但是,正如@12345ieee后来评论的那样,WSL build 17046中添加了一个< code>wslpath实用程序。这值得一查,但我现在无法进入Windows进行验证。(请注意,尽管在我的链接中的发行说明中给出了用法说明,但该命令目前似乎不包含用法说明,-h等。)

    1. bash 调用 git 配置 --global credential.helper ”

阳俊德
2023-03-14

如果您安装了Git for Windows,则系统上安装了Windows集成凭证管理器。

您可以从这里找到的WSL运行windows可执行文件。

要使用它,可以运行以下命令(假设您的git for windows安装在C:\Program Files\git上)

git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager-core.exe"
 类似资料:
  • 问题内容: 我想知道如何在Windows XP 32位上使用PyPy 1.8。我从网站上下载了zip文件,并将其安装到“我的文档”文件中。最初,我认为它与psyco类似,因为我必须“导入psyco”,但是我发现PyPy.exe的行为类似于Python命令行。 我尝试将脚本拖到PyPy.exe中运行它们,但似乎根本不起作用。尝试在PyPy中使用“ python”命令会产生“未定义全局名称’pytho

  • 我在windows上下载了git,还有一些其他东西,包括GitBash。 虽然我不知道为什么bash终端被包含在“git”中,但它不仅支持git的功能,还支持其他功能,比如mkdir、cp、mv,就像一个真正的linux bash终端一样。 最近我知道了WSL(WindowsLinux子系统),它使bash终端在windows中可用。 git bash在功能上是否不如WSL? 它是否包含一些WSL

  • 我下载并安装git从:https://git-scm.com/downloads.我现在可以在Windows命令提示符上使用git。 我下载了puttygen并用它生成了一对RSA密钥,存储在 我将公钥添加到我公司的git网站。 现在,我如何告诉git使用我刚刚创建的rsa密钥?

  • 我想将 WSL(在 Windows 上的 Bash)Git 与 VSCode 一起使用,而不是用于 Windows 的 Git,以避免多次安装 Git。 我创建了一个简单的bat脚本,通过在WSL中重定向git命令来模拟< code>git.exe行为。它在CMD中工作得很好,但在VSCode中就不行了。另外,WSL是我在VSCode中的默认终端。 VSCode settings.json: 和

  • “我们在git中甚至在Windows中都使用linux命令。我想知道它是如何让这些linux命令在Windows上运行的?”

  • 因此,我遵循了本教程,学习了如何使用Windows CMD为github设置SSH,在我使用 我在哪里得到的 即使我运行,我也会收到预期的消息,告诉我我已通过身份验证。 在搔了一会儿脑袋之后,我决定在git bash上试试。 我注意到的第一件事是跑步 在git bash中,我得到了但是当我在Windows CMD上运行相同的命令时,我得到了所有的SSH密钥? 因此,在git bash中添加ssh密