当推入github时,为什么git没有要求我输入用户名和密码?

时间:2015-08-03 17:53:52

标签: git github

这可能是个愚蠢的问题。但我无法通过搜索找到任何相关信息。也许,这是一个愚蠢的问题。

我已将代码存储在github中。

2小时前,我想在存储库中更新我的代码,但我的本地没有代码。所以我克隆了它,修改了代码并推送它。这时,git提示我输入github的用户名和密码。我键入它并更新代码。

之后,我在" OTHER"中阅读了我的代码。库。我也找到了需要修改的东西。所以我将该存储库克隆到我的本地计算机,修改了代码并推送它。

但是......此时,git不会提示输入github的用户名和密码。

咦?这是否意味着任何人在github中克隆我的代码也可以推送到我的github存储库?这是非常危险的情况,不是吗?

所以我测试了在github中创建新的存储库。我将这个新的存储库克隆到我的本地,进行了一些更改并推送它。但git也没有提示输入用户名和密码的消息。

所以,我的问题是,

  1. 第一次推送是否在我的本地计算机中保存github登录信息,并在其他推送后使用它?然后,它在哪里?
  2. 什么是github存储库的默认安全设置?我没有将本地计算机的SSH密钥注册到github帐户。使用master分支推送到我的存储库,而不需要任何身份验证,这似乎是不合理的。
  3. 在执行上述操作时,以下是我的命令。

    $git init
    $git clone https://github.com/[user name]/[repository name].git
    <some change>
    $git add *
    $git commit -m "change"
    $git remote add origin https://github.com/[user name]/[repository name].git
    $git push origin master
    

    添加了信息。 有关更多详细信息,我捕获了我的github设置页面。

    enter image description here

    enter image description here

    enter image description here

6 个答案:

答案 0 :(得分:19)

您可以通过运行以下命令手动取消设置credential.helper。

git config --global --unset credential.helper

根据您的需要使用--global--local--system

然后推入github将要求输入用户名和密码。

如果您使用的是另一种方法,请执行此操作,如下所示,但请注意,如果您将credential.helper与git一起使用,它将再次保存您的凭据。

转到control panel - &gt; Credential Manager - &gt; Windows Credentials并删除您的git凭据条目/条目。 enter image description here

答案 1 :(得分:4)

这可能会有所帮助.. https://help.github.com/articles/caching-your-github-password-in-git/

Git默认情况下将你的passwd保存在缓存中15分钟。

答案 2 :(得分:1)

对于Mac用户,可以通过运行以下命令清除密码:

SELECT supp_id, supp_name, supp_weight AS "supp_weight(Kg)" FROM ...

答案 3 :(得分:0)

问题: 当推送到远程git时将报告: 远程:拒绝[bob]

对[您的/回购]的权限

商店中的用户名可能错误。 Powershell这个:

cd c:\Program Files\Git\mingw64\libexec\git-core;

git-credential-manager.exe remove [bob];

git push origin [your branch];
  
    

现在应该提示您输入凭据。

  

答案 4 :(得分:0)

在Linux中检查

cat /home/<MyUser>/.git-credentials

答案 5 :(得分:-2)

据我所知,有几种方法可以使用git结账。

具体来说,使用http协议(使用名称/密码)和使用ssh(使用ssh公钥/私钥对)

您似乎正在使用ssh,因此私钥/公钥对用于授权