首页 > 解决方案 > 如何存储多个 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

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

标签: linuxgitpasswordsgit-credential-manager

解决方案


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

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

 cd /path/to/my/local/repo1
 git remote set-url origin https://user1@github.com/user1/myRepo1
                                   ^^^^^^

 cd /path/to/my/local/repo2
 git remote set-url origin https://user2@github.com/user1/myRepo2
                                   ^^^^^^

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


推荐阅读