Подключение к github с помощью https с использованием пользователя: [email protected]/repo, когда pw заканчивается на @

Я использую синтаксис GIT_REPO_URL="https://$GIT_ACCOUNT:[email protected]/XXXX/xxx".

В последнее время я изменил свой пароль, и он заканчивается на @.

Например, мой пароль - 123456789 @.

Когда я вводим свой пароль, он говорит. Couldn't resolve host '@github.com' В основном URL-адрес репо теперь равен GIT_REPO_URL="https://myAccountName:[email protected]@github.com/XXXX/xxx".

Кто-нибудь знает, как решить эту проблему?

Ответы

Ответ 1

Вы должны "URL-кодировать" имя пользователя и пароль. См. https://tools.ietf.org/html/rfc3986 для процентного кодирования.

@ будет закодирован как %40, поэтому URL-адрес будет выглядеть так: https://myAccountName:123456789%[email protected]/XXXX/xxx

Вот инструмент для этого: http://meyerweb.com/eric/tools/dencoder/ или просто использовать таблицу ASCII;).


Альтернативами было бы использовать хранилище git для хранения учетных данных, используйте .netrc файл, или используйте ключи SSH.

Ответ 2

Почему бы не переключиться на ssh и не избавиться от паролей?


Просто следуйте этим шагам, и вы быстро установите свой ssh-ключ:

  • Создайте новый ключ ssh (или пропустите этот шаг, если у вас уже есть ключ)
    ssh-keygen -t rsa -C "[email protected]"

  • После того, как ваш ключ установлен в каталог home/.ssh (или Users/<your user>.ssh под окнами), откройте его и скопируйте контент


Как добавить ключ sh в учетную запись github?

  • Вход в аккаунт github
  • Нажмите на ранчо в правом верхнем углу (Настройки)
    github account settigns
  • Нажмите SSH keys
    ssh key section
  • Нажмите Add ssh key
    Add ssh key
  • Вставьте свой ключ и сохраните

И вы все решили: -)