[英]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.