我在新的git linux计算机上使用git。当我git push
时,我要求用户/密码。
我已正确设置git,事实上将github中的repo克隆到新文件夹中工作得很好(使用我的公钥,而不是只读副本)。当我尝试从之前的克隆推送到同一个回购时,我会收到提示输入用户/通行证。
当然sshing到git@github.com工作,我确保我的公钥在github中配置。有任何想法如何继续调试?
答案 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进行密码缓存。这是一个很好的解释:
答案 5 :(得分:0)
也许这会帮助像我这样的人。
请找到有关缓存密码的Git官方文章
链接:https://help.github.com/en/articles/caching-your-github-password-in-git
命令:
设置Git以使用凭据内存缓存
> git config --global credential.helper cache
更改默认缓存超时
> 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”