简体   繁体   中英

Connecting to github by https using user:pw@github.com/repo when pw ends with @

I am using GIT_REPO_URL="https://$GIT_ACCOUNT:$USER_PW@github.com/XXXX/xxx" syntax.

Lately I have changed my password so it ends by @.

For example my password is 123456789@.

When I input my password it says. Couldn't resolve host '@github.com' Basically the repo url is now equal to GIT_REPO_URL="https://myAccountName:123456789@@github.com/XXXX/xxx" .

Does anyone know, how to solve this problem?

You have to "URL encode" the username and password. See https://tools.ietf.org/html/rfc3986 for percent encoding .

@ will be encoded as %40 , so the url would look like: https://myAccountName:123456789%40@github.com/XXXX/xxx

Here is a tool for this: http://meyerweb.com/eric/tools/dencoder/ or just use an ASCII table ;).


Alternatives would be to use a git store for storing credentials, use the .netrc file , or use SSH keys.

Why not switching to ssh and get rid of the passwords?


Simply follow those steps and you will set up your ssh key in no time:

  • Generate a new ssh key (or skip this step if you already have a key)
    ssh-keygen -t rsa -C "your@email"

  • Once you have your key set in home/.ssh directory (or Users/<your user>.ssh under windows), open it and copy the content


How to add sh key to github account?

  • Login to github account
  • Click on the rancher on the top right (Settings)
    github帐户settigns
  • Click on the SSH keys
    ssh关键部分
  • Click on the Add ssh key
    添加ssh密钥
  • Paste your key and save

And you all set to go :-)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM