强制git始终要求输入密码

时间:2018-02-16 11:36:25

标签: git macos passwords

我在几台计算机上工作,我确保在推送时git从不存储我的密码。所以简而言之,我希望git总是要求我的github密码。

这可能吗?

我比在Mac上感到沮丧,因为某些原因它总是将我的密码存储在钥匙串中,我每次都必须手动删除它。

我正在使用命令行。

编辑:

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

How do I disable git's credential helper for a single repository?

在终端中运行:

git config --local credential.helper ''

或者,您可以编辑.git / config文件并使用:

[credential] helper = ''

我没有root密码(由于某种原因,管理员密码不是有效的root密码,请参阅图。)

2 个答案:

答案 0 :(得分:1)

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

在Windows中: 通过单击“开始”按钮,“开始”按钮的图片,“控制面板”,“用户帐户和家庭安全”(或单击“用户帐户”,如果已连接到网络域),然后单击“用户帐户”,打开“用户帐户”。在左窗格中,单击“管理您的凭据”。 Windows 7:控制面板\用户帐户\凭据管理器

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

<强> MACOS

尝试运行/ Applications / Utilities / Keychain Access enter image description here

enter image description here

右键单击,选择Delete

如果要使用macOS Terminal中的命令行,请键入

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

enter image description here

答案 1 :(得分:0)

据我所知,这将是一个SSH问题。您不希望将MacOS密钥链用于某个主机,即GitHub。

这是我实现这个目标的方法

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
祝你好运!