每次我尝试用Pycharm在GitHub中推送一个仓库时,它就会失败。
Push failed: fatal: Authentication failed for 'https://github.com/(my github repository)/'
在设置 – >版本控制 – > GitHub中,我填写了主机,日志和密码(validationtypes:密码)字段。 testing它:“连接成功”
在设置 – >版本控制 – > Git中,Git可执行文件的path使用完整path,SSH可执行文件:Buil-in
Pycharm版本3.1.1 Git版本1.8.4.msysgit.0在Win 7上。
似乎有一些问题(如果使用https),如果用户名或密码包含“一些”特殊字符。
所以,我在GitHub的应用程序设置页面(使用“创建新的令牌”按钮)生成了一个二级密码(“个人访问令牌”),我没有复制这个令牌。 然后我在Settings-> Version Control-> GitHub中选择了Auth Type:Token,并粘贴了令牌。
测试它:连接成功的用户。 现在,git push完美地工作。
如果您的用户名或密码有特殊字符,您可以用这些字符的百分比编码替换它。 例如,如果你的密码是“test @ 2010”,你可以把它写成“test%402010”,config命令就是这样的git config remote.origin.url https://{username}:test%402010@github.com/{repo_username}/{repo_name}.git
所以我找到了解决我的问题,我希望这有助于:
如果您使用的是KDE或Gnome,当您第一次推送时,您的“KDE钱包”或“Gnome Keyring”管理器将保存您的密码。 但是,如果您输入的密码错误,这些管理员(ksshaskpass for KDE)会存储错误的密码,并且每次都会发送错误的密码。
要解决这个问题,请打开相应的管理器并更改密码。 使用KDE,它位于:启动菜单>系统设置>帐户详情> KDE Wallet,然后点击“启动钱包管理器”,找到“ksshaskpass”,展开它,然后展开“密码”,然后找到您的github在那里注册电子邮件地址,点击它,在右边,点击“显示内容”。 现在更改该值(如果密码错误),然后点击保存。 你完成了!
这意味着您不必每次输入密码进行https推送,也不必使用SSH密钥;)