簡體   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