强制Git始终要求输入密码

5

我使用多台计算机,并希望在推送时确保git永远不会存储我的密码。简而言之,我希望git始终要求输入我的github密码。

这是可能的吗?

我感到失望的是,在Mac上,由于某种原因它总是将我的密码存储在钥匙串中,我每次都必须手动删除。

我正在使用命令行。

编辑:

这个答案给了我解决问题的线索:

如何为单个存储库禁用git的凭据助手?

在终端运行以下命令:

git config --local credential.helper ''

或者你可以编辑你的.git/config文件并添加以下内容:

[credential] helper = ''

我没有root密码(由于某种原因管理员密码不是有效的根密码)。


1
可能是禁用git凭证-osxkeychain的重复问题。 - Ashish Mathew
2个回答

6
git config --global --unset credential.helper
git config --system --unset credential.helper

在Windows中:打开用户账户,可以通过点击开始按钮并进入控制面板、用户账户和家庭安全(或直接点击用户账户,如果您连接到网络域)以及用户账户来访问。在左边的窗格中,单击“管理凭据”。

技巧:https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage您可以将记住权限超时更改为0(零)。

macOS

尝试运行 /Applications/Utilities/Keychain Accessenter image description here

enter image description here

右键单击,选择删除

如果想要使用macOS终端的命令行,请输入:

git credential-osxkeychain erase
host=github.com
protocol=https

enter image description here


0

据我理解,这应该是一个SSH问题。您不想为某个主机(例如GitHub)使用MacOS密钥链。

以下是我的解决方法:

SSH的默认配置从~/.ssh/config中加载(~表示您的主目录)。

在您喜欢的编辑器中打开该文件,并添加您的GitHub主机及其配置,以便不将您的密钥存储在密钥链/代理中。

例如:

Host <short name for your host, perhaps my-github or github.com>
  Hostname github.com
  UseKeychain no
  AddKeysToAgent no

注意:如果您想让规则适用于所有主机,可以使用以下方法。
Host *

如果您的短名称不是github.com,例如super-server-github,请编辑您的<path-to-repo>/.git/config以反映这一点

[remote "origin"]
        url = git@super-server-github:activehacker/gfs.git

祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接