使用 cygwin 的 Git 存储 https 密码

问题描述 投票:0回答:3

我正在使用 Cygwin 和 Git。每次我使用 https url 推送/拉取 Bitbucket 上的存储库时,都会要求我输入密码。 有没有办法存储这些凭据(例如使用 ssh 密钥)?

我尝试安装 Windows Credential Store for Git 但我无法让它与 cygwin 的 Git 一起使用。

谢谢!

更新:

我在这里找到了答案:在 GitHub 上使用 https:// 时有没有办法跳过密码输入?

总结:

记住密码 15 分钟(默认):

git config --global credential.helper cache

记住密码 10 小时:

git config --global credential.helper 'cache --timeout=36000'

存储密码(没有尝试过):

git config --global credential.helper store

重置:

git config --unset --global credential.helper

西姆

windows git passwords cygwin bitbucket
3个回答
31
投票

OP回答自己问题的方式是解决这个问题的一种方法。

Windows Credential Store 项目于 2015 年停止。其原始作者建议使用由 Microsoft 维护的Git Credential Manager for Windows。他们的安装程序专注于 Git for Windows,但是该程序本身可以与 Cygwin 配合使用,您只需手动安装即可。

转到 GCMW 的最新版本,下载 zip 文件(不是安装程序),将其内容(仅需要

.dll
.exe
文件)解压到
C:\cygwin\usr\libexec\git-core\
(对于 32 位 Cygwin)或
C:\cygwin64\usr\libexec\git-core\
(对于 32 位 Cygwin) 64 位 Cygwin。 参考

要让 git 使用 GCMW,请执行:

git config --global credential.helper manager

要获取 GUI 提示输入凭据,请执行:

git config --global credential.modalprompt true

如果您希望这是每个存储库的设置,请删除

--global
选项。


19
投票

我使用 cygwin 制作了 Windows Credential Store。唯一需要更改的是全局 ~/.gitconfig 文件。

将通常位于文件末尾的“helper”值更改为以下内容:

[credential]
    helper = !'/cygdrive/C/Users/<YOUR-ACCOUNT-NAME>/AppData/Roaming/GitCredStore/git-credential-winstore.exe'

作为解释,cygwin 只是使用不同的路径,并且值当然必须遵循规则。


0
投票

对 Gene Pavlovsky 的回答(及其评论)的补充:

我们可以将 .exe 文件符号链接

/usr/libexec/git-core
,而不是将一大堆文件直接安装到文件夹中。

  1. 安装/解压Git-Credential-Manager-Core(当前主流项目)到您喜欢的任何文件夹,例如
    D:\path\to\gcm
  2. 符号链接
    git-credential-manager.exe
    /usr/libexec/git-core
    ln -s /cygdrive/d/path/to/gcm/git-credential-manager.exe /usr/libexec/git-core/git-credential-manager.exe
    

这样我们可以保持

git-core
目录整洁,并使更新/卸载过程变得容易。

© www.soinside.com 2019 - 2024. All rights reserved.