如何在推送到我的git仓库时强制用户和密码提示?

h4cxqtbf  于 2023-05-05  发布在  Git
关注(0)|答案(8)|浏览(142)

我最近更新了我的本地Git安装从1.8.0.11.8.1
我注意到,当我在GitHub上工作时,它不再提示我输入用户名和密码。
这让我很烦恼,因为我认为每次都必须输入用户和密码是一种很好的安全措施。(如果别人用我的电脑怎么办?)
我检查了以下内容:

  • 另一台计算机上的1.8.0.1仍然要求输入用户名和密码。
  • 我在github上的帐户仍然强制执行私人/安全控制。
  • 我使用https远程引用,而不是ssh。
  • 为了更好地衡量,我检查了我的~/.ssh fonder。没什么不对的
  • 将登录详细信息存储在~/.gitconfig或单个<proj>/.git/config文件中。
  • 我也~/.netrc中存储任何与github相关的东西。
  • 我创建了一个新的虚拟存档:仍然不提示我登录。

我在git release notes archive中找不到任何东西。
有谁知道这是不是一种新的git行为?如何恢复提示符?

hl0ma9xz

hl0ma9xz1#

在git命令中添加一个-v标志。例如git pull -v
V表示验证。

rdrgkggo

rdrgkggo2#

这很可能是因为你有多个帐户,比如一个私人帐户,一个用于GitHub工作。

解决方案在Windows上,进入开始〉凭证管理器〉Windows凭证,删除GitHub凭证,然后再次尝试拉入或推送,系统会提示您重新登录GitHub
解决方案OnMac,终端出现以下问题:

git remote set-url origin https://username@github.com/username/repo-name.git

在这两个地方用你的GitHub用户名替换'username',并提供你的GitHub存储库名称。

zfciruhq

zfciruhq3#

使用git config -l,我现在看到我有一个credential.helper=osxkeychain选项
这意味着credential helper(最初在1.7.10中引入)现在生效,它将自动缓存通过HTTP访问远程存储库的密码。
(as in“GIT: Any way to set default login credentials?“)
您可以完全禁用该选项或only for a single repo

ergxz8rk

ergxz8rk4#

这些都对我没用。我试图从一个私有的git服务器克隆一个目录,并输入了我的凭证false,然后它不让我在后续的尝试中尝试不同的凭证,它只是立即出错,并显示一个身份验证错误。
在url中指定用户名(mike-wise),如下所示:

git clone https://mike-wise@collab.somewhere.net/someuser/somerepo.git
r55awzrz

r55awzrz5#

由于问题被标记为Github,添加另一个遥控器(如https_origin)并添加https连接会迫使您始终输入密码:

git remote add https_origin https://github.com/.../...
vwhgwdsa

vwhgwdsa6#

补充第三个答案:如果您使用的是非英语Windows,您可以通过“控制面板”〉“用户帐户”〉“凭据管理器”找到“凭据管理器”

b1zrtrql

b1zrtrql7#

绕过github限制的最简单方法是在你的配置文件设置中的developer下创建一个API令牌。然后你可以把你的repo url改成@url

oaxa6hgo

oaxa6hgo8#

在~/.gitconfig中删除这些行可以保存我:

extraheader = Authorization: Bearer xxx
[remote "origin"]
    url = https://user:token@github.com/user/repo.git
[alias]
    credential-manager = credential-manager-core
[credential]
    helper = osxkeychain```

相关问题