问题标签 [git-credential-manager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
120 浏览

git - 使用 git credential fill 命令时,从 Windows 凭据管理器中删除凭据仍然显示凭据

我正在运行最新的Git For Windows 2.29.2,对我credential.helper来说默认设置为manager-core。我确实确认运行git config --system --list.

我想为 GitHub 上的任何 git 操作实现基于令牌的身份验证。所以我继续从Control-Panel-> Credential manger -> Windows Credential -> Generic Credentials. 然后我执行了命令:

令我惊讶的是,上面的命令仍然返回凭据。我回到控制面板并确认它是否被删除并且我看不到凭据,即它们已经被删除。

为什么上面的命令成功地返回了凭据。据我所知,git 也会在内存中缓存 15 分钟的凭据。然而,上面的命令在几个小时后仍然返回了凭据。我尝试打开新的提示,但直到今天才走运,大约一天后我碰巧注意到该行为不再可重现。

现在它按预期工作,即如果我从控制面板的凭据管理器中删除凭据,git credential fill则无法返回任何凭据,而是提示我输入凭据。

git credential fill即使我在几个小时后尝试,为什么首先返回凭据?我只是无法理解这种行为。

0 投票
1 回答
470 浏览

git - 控制面板的凭据管理器是否与 git 的凭据帮助程序凭据管理器和凭据管理器核心相同

我正在运行最新的Git For Windows 2.29.2,对我credential.helper来说默认设置为manager-core。我确实确认运行git config --system list.

我的 Git 安装显示它有两个凭证助手

  1. 适用于 Windows 的 Git 凭据管理器(较新版本的 Git 中已弃用的早期助手)和,
  2. Git Credential Manager Core(较新版本的 Git 中的默认助手)

在 git 终端中为两者运行version命令确认它们的存在:

现在看来,git 可以使用三种方式来管理凭据:

(一个)。Windows 凭据管理器(控制面板中的那个),

(b)。适用于 Windows 的 Git 凭据管理器,以及

(C)。Git 凭据管理器核心。

如果我的理解是正确的,那么根据这个 SO 帖子credential.helper=manager它与控制面板的Windows Crendential Manager相同。

这是否意味着credential.helper=manager-core它也与控制面板的凭据管理器相同。

我在这里有点困惑,哪个是什么。三者是否相同或彼此不同,并分别存储凭据。

0 投票
1 回答
566 浏览

linux - 如何存储多个 PAT/密码供 git 使用?

一个密码没问题

我想“安全地”存储我的凭据以供使用,git所以我按照 此处的说明进行操作。这样我就不必每次都输入密码/PAT,我执行任何 git 操作。

  1. 安装libsecret使用sudo apt-get install libsecret-1-0 libsecret-1-dev

  2. 使用构建“凭证管理器”sudo make --directory=/usr/share/doc/git/contrib/credential/libsecret

  3. 然后使用配置我的本地git文件夹git config --global credential.helper \ /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

做工很棒。

如何使用多个密码执行上述操作?

我没有得到的是如何对与不同帐户/存储库关联的许多密码执行相同的操作。有人建议我使用 gcm 核心。

我尝试按照此处gcm core的说明进行安装。

  1. 下载 .deb 包

  2. sudo dpkg -i <path-to-package> git-credential-manager-core configure

  3. 配置“凭证存储” git config credential.credentialStore secretservice(因为我使用 libsecret)。

  4. 我 从本地 git 配置文件中删除了Credential helper指向 。/usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

它仍然不起作用。当我尝试推送存储库时,我收到一条乱码消息,说明如何使用,git config然后是填写凭据的请求(如图所示。我不明白我在做什么!即credential store,和. credential manager_secret-servicegcm core

我看了这里这里,但我仍然不明白。

0 投票
1 回答
41 浏览

git - git用另一个帐户推送到我的另一个帐户?

我创建了一个新的 GitHub 帐户,并git push --setup-upstream origin在添加我的原始分支后做了一个。

在 Windows 中的凭据管理器下删除我的旧 GitHub 凭据后,它似乎工作正常,正在从 Visual Studio Code 获取 GitHub 登录窗口以登录并使用新的帐户凭据。

一旦我git push将我的项目推送到上游,我的 GitHub 现在告诉我我的旧帐户已将项目推送到我的新帐户的分支中......

这怎么可能?我没有从我的旧帐户分配任何 SSH 或其他令牌,所以这是令人困惑的部分。

我似乎也找不到解决方案来“注销”或摆脱我的旧 GitHub,将其从上游上传到我的新帐户。有什么我想念的吗?

0 投票
1 回答
36 浏览

git - 可以克隆但不能推送

我无法推送存储库。我能够克隆存储库。我在我的凭证管理器中看到过,但我看不到我的凭证保存在那里。我确实尝试过使用

在此之后,我只能克隆但不能推送更改。由于进程没有结束,因此推送没有错误输出。它甚至不要求我的凭据登录帐户。

我也尝试过卸载 Git 并重新安装,但它不起作用。重新安装后它没有要求我登录我的 github(即没有询问我的凭据)

0 投票
0 回答
74 浏览

git - windows下通过cmd独立调用git-credential-manager-core.exe?

我正在使用 LibGit2 向应用程序添加许多 Git 操作。我想添加 git-credential-manager-core 以帮助进行身份验证和凭据管理器填充访问。

但是,有什么方法可以连接到凭据管理器的登录 UI,提示输入 Github 的用户名和密码。此 UI 从命令行自动弹出,但在使用 LibGit2 时不会触发。

我查看了 Github 上的 GitCredential Manager 核心项目,我可以看到提供 UI 的组件,但是在尝试弄清楚如何明确地挂钩之前,我是否缺少某种方式,这是作为一部分提供的git-credentail-manager-core(或相关包)的?或者任何人都可以指出如何最好地连接它的示例或指导?

0 投票
0 回答
65 浏览

git - 是否可以通过 git-credential-manager-core.exe 访问 github.com?如何实施?

我正在开发 git 第三方工具。我想通过外部程序而不是 GIT 命令行在 C/C++ 中调用 git-credential-manager-core.exe。有人可以指出如何最好地连接它的示例或指导吗?

0 投票
0 回答
318 浏览

git - Github 个人访问令牌。致命错误:不在 git 目录中

我正在尝试在 RStudio 中使用我的 github 个人访问令牌。

当我尝试运行时, $ git config credential.helper store我收到错误“致命:不在 git 目录中”。我尝试创建一个新项目并将其初始化为 git 存储库,但它给了我同样的错误。我也尝试过克隆存储库,但它只是给了我设置令牌所需的错误。

我该如何解决这个问题,以便我可以存储我的访问令牌和克隆存储库?

0 投票
0 回答
45 浏览

git - Git 不断启动浏览器进行身份验证

类似于Git 不断提示我输入密码,但特别是在带有 Azure DevOps 的 macOS 上

我使用使用 Homebrew 安装的 git 凭证管理器,如下所示

中的相关设置git config --global --list

在几秒钟之内,它似乎允许一些操作,但几分钟后它会打开浏览器询问凭据。

0 投票
0 回答
115 浏览

git - Git 凭证 gpg/pass TTY-only 设置失败并显示“致命:GPG_TTY 未设置”,即使它是

我尝试按照https://github.com/microsoft/Git-Credential-Manager-Core/blob/main/docs/linuxcredstores.md的说明,让 Git-credential-manager-core 在 wsl2 中使用 fish 在 ubuntu 上工作。我选择了选项 2.GPG/Pass,据我了解,我在 wsl2 上属于“无头/仅限 TTY 会话”类别。

我已经生成了 gpg 密钥并初始化了 pass 实用程序。我不明白我是否需要运行 gpg-agent 守护程序,因为指令仅说明“您必须使用 pin-entry 程序配置 gpg-agent”。我确实运行它 gpg-agent --daemon

最后,我设置了GPG_TTY变量,如 echo $GPG_TTY 返回 /dev/pts/0所示。

运行git push origin master导致错误消息:

那为什么要骗我呢?

一般来说,任何有关设置 git 凭据的帮助都是非常受欢迎的,因为我不知道什么工具负责什么以及我是否需要手动运行 gpg-agent。 提前致谢!

我在 Ubuntu 20.04 上运行在带有鱼壳的 linux 2 的 windows 子系统中。我只想能够推送到我的私人存储库,而无需每次都查找 github 令牌。