Git:强制用户和密码提示

tom*_*ave 52 git github

我最近更新我的本地Git的安装1.8.11.8.0.1.

我注意到,当我在GitHub上工作时,它不会在推送时提示我输入用户名和密码.

这让我很烦恼,因为我认为每次都要输入用户名和密码作为一个很好的安全措施.(如果其他人使用我的电脑怎么办?)

我检查了以下内容:

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

我在git 发行说明存档中找不到任何内容.

有谁知道这是一个新的git行为?如何恢复提示?

sap*_*apy 82

使用git命令添加-v标志.例如 git pull -v

v代表验证.

  • 绝对没有为我做任何事。没有提示什么。刚推。 (10认同)
  • @joao 我看到我的一位同事使用这个命令,我很快就记住了它。也从未在任何地方看到过这个记录。它看起来更像 --verbose 标志,不知道为什么它有效:) (2认同)
  • git版本1.7.1手册页显示,-v代表git-pull和git-fetch的冗长 (2认同)

Von*_*onC 18

有了git config -l,我现在看到我有一个credential.helper=osxkeychain选择

这意味着凭证助手(最初在1.7.10中引入)现在已生效,并将自动缓存用于通过HTTP访问远程存储库的密码.
(如" GIT:设置默认登录凭据的任何方式? ")

您可以完全禁用该选项,也可以仅为单个存储库禁用该选项.

  • 谢谢,这让我走上了正确的道路。我在 OS X 中启动了钥匙串访问工具,然后删除了那里的所有 github 内容...解决了问题。 (2认同)

pix*_*xel 16

这很可能是因为您有多个帐户,例如一个私人帐户,一个帐户可用于GigHub。

解决方案在Windows上,转到“开始”>“凭据管理器”>“ Windows凭据”并删除github凭据,然后尝试再次拉入或推入,系统将提示您重新登录到Gighub

解决方案OnMac,在终端上发出以下命令:

git remote set-url origin https://username@github.com/username/repo-name.git
Run Code Online (Sandbox Code Playgroud)

在两个地方都用您的GigHub用户名替换“用户名”,并提供您的github存储库名称。

  • 伟大的!多谢 (3认同)
  • 这就是我一直在寻找的东西。 (2认同)
  • 你救了我的命。我整个星期都在寻找这个信息!多谢! (2认同)

Mik*_*ise 14

这些都不适合我。我试图从私人 git 服务器克隆一个目录并输入我的凭据 false 然后它不会让我在后续尝试中尝试不同的凭据,它只是立即出错并出现身份验证错误。

有效的是mike-wise在 url 中指定用户名 ( ),如下所示:

   git clone https://mike-wise@collab.somewhere.net/someuser/somerepo.git
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说很重要(我所在的托管计算机不允许访问凭据管理器) (2认同)

Afs*_*ani 5

由于问题标有Github,因此添加另一个远程对象(例如)https_origin并添加https连接可以强制您始终输入密码:

git remote add https_origin https://github.com/.../...
Run Code Online (Sandbox Code Playgroud)