繁体   English   中英

将 git 设置为始终提示输入凭据

[英]Set git to always prompt for credentials

由于一些专门的硬件,我们有一台机器与一些开发人员共享。 我希望 git 提交并推送以始终提示输入凭据。 我尝试了一些在 SO 上找到的修复程序,包括git config --global --unset credential.helper以及编辑配置以在[core]下包含askpass = 在完成这两项之后,当我尝试提交时,我仍然会得到这个:

PS C:\Projects\Windows\projectname> git commit -m "testing shared credentials"

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'user@pcname.(none)')

我不想设置默认身份。 我希望它每次都要求输入用户名和密码。 这可能吗?

编辑:我可能会设置“通用开发人员”的默认身份或其他东西,但仍会提示输入凭据。

我希望它每次都要求输入用户名和密码。 这可能吗?

关于身份

请参阅“如果未设置用户 email,我如何使 git 阻止提交?

git config --global user.useConfigOnly true

使用 Git 2.21 ,也可以更好地使用git stash

只要您不设置全局或本地用户名/电子邮件,这将使 Git 在每次提交时询问 user.name/email。

然后,对于每个提交,您可以在命令行上指定它(仅适用于该提交)

git -c user.name="My Name" -c user.email=my@email.com commit -m "my new commit"

一旦提交完成,任何新的提交都会再次询问您的用户名/电子邮件。
强制您在每次提交时指定它们,如上所示。

我可以设置“通用开发人员”或其他东西的默认身份

这是一个可怕的想法:你确实想知道谁在每次提交时做了什么。

如果最近不得不开发一个git包装器来精确地强制用户,在他/她的第一个git命令上,到 select 是他/她的进程名称/git.xxx 文件,并将其存储在 /mp/git.xxx 文件中当前 bash 的 id。
这样,相同的包装器能够为在相同的 shell session 中完成的每个后续git命令设置正确的作者/电子邮件(由相同的用户)


关于密码(认证)

确保使用:

Git 将在每次推/拉时询问用户名/密码。
我确实确认,是否没有凭据缓存,并且HTTPS 是否用于远程存储库 URL(不是 SSH),每次拉/推/克隆操作都会出现提示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM