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

  • 本文关键字:提示 git 设置 git
  • 更新时间 :
  • 英文 :


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

PS C:ProjectsWindowsprojectname> 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)')

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

编辑:我可以设置"通用开发人员"或其他默认标识,但仍提示输入凭据。

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

关于身份

请参阅"如果未设置用户电子邮件,如何进行 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命令中选择他/她的姓名/电子邮件,并将其存储在/tmp/git.xxx 文件中,其中 xxx 是当前 bash 的进程 ID。
这样,相同的包装器能够为在同一 shell 会话中完成的每个后续git命令设置正确的作者/电子邮件(可能由同一用户完成(


关于密码(身份验证(

确保使用:

  • 一个 HTTPS 网址
  • 无凭据帮助程序

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

最新更新