在GitHub上创建存储库后,我按照GitHub提供的说明进行操作:
$ echo "# test" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin https://github.com/user/test.git
$ git push -u origin master
(在上面的网址中,实际用户名已替换为user
。)
然后我(Ksshaskpass)问我
&{39; https://xxxxxxxx@github.com'的密码:
(不询问用户名。)这个xxxxxxxx
实际上是我在GitHub上创建帐户时使用的初始密码。并且我的密码被拒绝,因此我无法推送数据。
我期待输出like the following。
$ git push -u origin master
Username: <username>
Password: <password>
我删除了~/.gitconfig
,但情况没有改变。 (尚未询问用户名。)目录~/.git
不存在。所以我怀疑我很久以前创建了一个错误的配置文件,但我找不到它。
你能否给我一些关于这种现象的暗示?
环境:openSUSE 13.2,git-2.1.4-13.1.x86_64
答案 0 :(得分:4)
将远程网址更改为ssh
每当您希望运行git pull/push/fetch
时,https都会要求您输入密码。
只需按照这些步骤操作即可立即设置ssh密钥:
生成新的ssh密钥(如果已有密钥,则跳过此步骤)
ssh-keygen -t rsa -C "your@email"
将密钥设置在home/.ssh
目录(或Windows下的Users/<your user>.ssh
)后,打开它并复制内容
SSH keys
Add ssh key
粘贴您的密钥并保存
更改远程网址git remote set-url origin <new_ssh_url>
你们都准备出发了: - )
答案 1 :(得分:1)
在 Linux 下,我的解决方法是打开 KWallpaperManager,搜索(使用搜索栏)错误设置的密码作为成为错误 URL 一部分的用户帐户,删除该条目并再次尝试推送提交)。凭据过程从头开始,因此当它要求输入帐户时(通过在文本框旁边写下“密码”误导用户),输入 git 用户名,然后在第二个对话框中输入密码。一切都设置正确,我可以在任何客户端(命令行或 GUI)中继续 git 操作。
答案 2 :(得分:0)
从kwallet中删除ksshaskpass的错误信息可能会有所帮助。