git push故障排除 - 它要求用户/通行证

时间:2011-04-28 04:46:29

标签: git github

我在新的git linux计算机上使用git。当我git push时,我要求用户/密码。

我已正确设置git,事实上将github中的repo克隆到新文件夹中工作得很好(使用我的公钥,而不是只读副本)。当我尝试从之前的克隆推送到同一个回购时,我会收到提示输入用户/通行证。

当然sshing到git@github.com工作,我确保我的公钥在github中配置。有任何想法如何继续调试?

7 个答案:

答案 0 :(得分:78)

这是因为你做了

git clone https://github.com/username/repo

而不是

git clone git@github.com:username/repo.git

答案 1 :(得分:51)

尝试以下方法:

  

git remote set-url origin [your git url,例如git@github.com:../ project.git]

答案 2 :(得分:45)

你以前的回购是什么意思?检查上一个repo的.git/config文件中的原始URL。如果您使用http克隆,它将要求用户/通行证。

答案 3 :(得分:7)

如果您的回购网址为:https://github.com/abc/xyz.git

将命令行中的url设置为:git remote set-url origin git@github.com:abc/xyz.git

https://github.com/替换为git@github.com:

答案 4 :(得分:2)

for mac如果您有git 1.7.10+,则需要使用credential-osxkeychain进行密码缓存。这是一个很好的解释:

https://help.github.com/articles/set-up-git

答案 5 :(得分:0)

也许这会帮助像我这样的人。

请找到有关缓存密码的Git官方文章

enter image description here

链接:https://help.github.com/en/articles/caching-your-github-password-in-git

命令:

  1. 设置Git以使用凭据内存缓存

    > git config --global credential.helper cache

  2. 更改默认缓存超时

    > git config --global credential.helper 'cache --timeout=3600'

答案 6 :(得分:0)

根据我的经验,有三种情况

1. git remote set-url github(remote repo name) https://github.com/id/a.git
    it asks ID/Passwd
2. git remote set-url github https://id@github.com/id/a.git
    it only asks Passwd
3. git remote set-url github git://github.com:id/a.git
    if you don't have a permission, it complains. So I can't use this for public server of github

所有命令均写入“ .git / config”