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

问题描述

一个密码没问题

我想“安全地”存储我的凭据以供 git 使用,所以我按照指示做了 here。这样我就不用每次都输入密码/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 config --global credential.helper \ /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

    配置我的本地 git 文件

效果很棒。

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

我不明白的是如何对许多密码做同样的事情 使用不同的帐户/存储库。有人建议我使用 gcm 核心。

我尝试按照 here 的指示安装 gcm core

  1. 下载 .deb 包

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

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

  4. 删除了指向的 Credential helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret 来自本地 git 配置文件

它仍然不起作用。当我尝试推送存储库时,出现乱码 带有如何使用 git config 的消息,然后是要求填写 凭据(显示here)。我不明白我在做什么!即 credential storecredential managersecret-servicegcm core

我查看了 herehere,但我仍然不明白。

解决方法

任何凭证助手都应遵循相同的流程。

但是如果您在同一个域中有多个帐户/密码(例如 github.com),那么您需要更改远程 URL

 cd /path/to/my/local/repo1
 git remote set-url origin https://[email protected]/user1/myRepo1
                                   ^^^^^^

 cd /path/to/my/local/repo2
 git remote set-url origin https://[email protected]/user1/myRepo2
                                   ^^^^^^

这样,凭证助手就会区分您的不同帐户。
由于 gcm 核心安装起来有点麻烦,请先使用经典的基于 libsecret 的帮助程序对其进行测试。