Как мне перейти к репозиториям GitHub https, используя мой ключ ssh?

2

Я могу нажимать на git@github.com:wting/repo.gitссылки без запроса пароля, так как он использует мой ssh-agent. Однако, когда я нажимаю на https://github.com/wting/repo.gitнего, всегда спрашивает имя пользователя и пароль.

Эту проблему можно несколько облегчить, используя кеширование паролей , но я бы предпочел не использовать это.

В основном это появляется при использовании гистов, потому что они показывают только https ссылку (например https://gist.github.com/123.git). Я не хочу изменять URL-адрес каждой сущности, которую я клонирую, чтобы использовать git@gist.github.com:123.gitверсию.

Как мне сделать так, чтобы git использовал мой ssh-agent при отправке на адрес https?

Соответствующий URL: Почему GitHub рекомендует HTTPS через SSH?

wting
источник

Ответы:

1

Я прибег к написанию функции-оболочки git:

function gc {
    if [[ ${1} =~ "github.com" ]] && [[ ${1} =~ "https" ]]; then
        git clone ${${1/https:\/\//git@}/\//:} ${@:2}
    else
        git clone ${@}
    fi
}
wting
источник
0

Установите это в своей учетной записи GitHub.

По вашей собственной ссылке это кажется неподдерживаемым, я думаю, вы могли бы написать небольшую функцию в .bashrc, чтобы переписать пульты в стиле git.

Тамара Вийсман
источник
У меня уже есть ключи SSH, добавленные в мою учетную запись. Я спрашиваю, как заставить его работать со ссылками https, а не только со ссылками git@github.com.
wting
Почему бы просто не использовать ссылку Git? Gists могут не поддерживать доступ R + W ...
Тамара Вийсман
Гисты поддерживают доступ r + w, но отображается только ссылка https. Я бы предпочел не изменять ссылку на клон каждый раз, когда я клонирую суть.
13
@WilliamTing: Хорошо, только что проверил и работает здесь. Я считаю, что это локальная проблема, и поэтому она не связана с GitHub. Пожалуйста, дважды проверьте свою конфигурацию и снова выполните соответствующие шаги ... Есть ли на пути брандмауэр?
Тамара Вийсман
Вы можете нажать на https с помощью ssh-agent? На этом пути нет брандмауэра.
wting
0
  1. поместите ваш открытый ключ на github.com
  2. использовать, ssh -T git@github.comчтобы определить, работает ли открытый ключ
  3. под вашим репо,git remote set-url origin git@github.com:<user>/<project>.git
  4. git push
LeoChu
источник