每次我想提交命令" git push heroku master"我在PowerShell中被要求输入凭据。当我输入heroku凭证(默认情况下连接到git)时,我收到错误消息。
但是,当我在我的主目录中输入netrc文件中包含的凭证时,那就是函数。但是我认为密码是哈希的。每次我想将更改推送到git时,如何避免输入凭据?
更新:
PS C:\Users\Dragan\heroku_workspace\python-getting-started> git push heroku master
github --credentials get: github: command not found
Username for 'https://git.heroku.com': my-email@hotmail.com
Password for 'https://my-email@hotmail.com@git.heroku.com':
github --credentials erase: github: command not found
remote: ! WARNING:
remote: ! Do not authenticate with username and password using git.
remote: ! Run `heroku login` to update your credentials, then retry the git command.
remote: ! See documentation for details: Https://devcenter.heroku.com/articles/http-git#authentication
fatal: Authentication failed for 'https://git.heroku.com/mysterious-river-71834.git/'
答案 0 :(得分:2)
常见错误是使用默认值(HTTPS)而不是SSH进行克隆。您可以通过转到存储库,单击URL字段左侧的ssh按钮并更新原始遥控器的URL来纠正此问题,如下所示:
git remote set-url origin git@github.com:username/repo.git
或者如果您的存储库已经点击绿色按钮CLONE OR DOWNLOAD
并选择使用SSH
$ heroku create --ssh-git
( If you want to always use SSH Git with Heroku on a particular machine)
$ git config --global url.ssh://git@heroku.com/.insteadOf https://git.heroku.com/
ssh-keygen -t rsa
在第一个提示符处按Enter键以使用默认文件位置。接下来,键入密钥的安全密码。
答案 1 :(得分:0)
如果您使用的是v1.9.3或更高版本Git for Windows,则可以执行以下操作
git config --global credential.helper wincred
请注意,此机制会将您的用户名/密码存储在Windows Credential Store中。
在相对较新的版本中,Git Credential Manager for Windows与Git for Windows捆绑在一起并默认启用,您可能必须覆盖Heroku的credential.helper
配置。 GCM似乎是为VSTS和GitHub设计的,我不知道它将如何与其他服务器一起运行。
答案 2 :(得分:0)
为我工作:
使用Windows命令提示符heroku login
运行cmd.exe
。这会将您的API密钥丢弃到_netrc
,此时您可以打开cygwin或git bash并执行您需要的任何操作
从.gitconfig
移除helper = manager
行,以便不再将其注册为凭据帮助程序并停止显示。
(在C:\Users\username\.gitconfig
)
在用户目录的Windows 7上将_netrc文件重命名为.netrc:
cd %home%
REN _netrc .netrc
请参阅:
'git push heroku master' is still asking for authentication
https://github.com/heroku/cli/issues/84#issuecomment-170689175