Подтвердить что ты не робот

Как клонировать Github Gist через протокол SSH?

Кажется, что Github хочет, чтобы мы использовали протокол HTTPS для использования Gists, например, они перечисляют только HTTPS-url на странице Gist. https://gist.github.com/donatello/5834862

Можно ли клонировать Gist с использованием протокола SSH?

4b9b3361

Ответ 1

Да, возможно:

git clone [email protected]:5834862.git

Просто замените свой собственный идентификатор Gist, конечно.

Ответ 3

В раскрывающемся списке на страницах gist теперь есть встроенные /Share/Clone HTTPS/Clone SSH опции:
gist dropdown
которые показывают неочевидный трюк, опускают имя пользователя:

  • Клон HTTPS:
    https://gist.github.com/b6f4a53fac485f75afb9150d03efb2f6.git
    Работает для меня с или без .git, и с или без имени пользователя: https://gist.github.com/cben/b6f4a53fac485f75afb9150d03efb2f6 (как обычно на github, работает URL-адрес канонического просмотра

  • Клон SSH:
    [email protected]:b6f4a53fac485f75afb9150d03efb2f6.git
    AKA
    ssh://[email protected]/b6f4a53fac485f75afb9150d03efb2f6.git
    Работает для меня с или без .git, но не работает с именем пользователя.


Я включил github 2FA, что делает HTTPS болезненным, поэтому я всегда хочу SSH; следующий ~/.gitconfig делает перевод для всех gists на push:

[url "ssh://[email protected]/"]
    # In case I just copy-pasted with username:
    # [only works for my (cben) gists, but those are the ones I can push]
    pushInsteadOf = https://gist.github.com/cben/
    # For gists cloned with official no-username URL:
    pushInsteadOf = https://gist.github.com/

И для регулярных (ненужных) репозиций:

[url "ssh://[email protected]/"]
    pushInsteadOf = https://github.com/

Ответ 4

Если вы хотите, вы можете захватить this script и поместить его где-нибудь в свой $PATH. Как только это будет сделано, вы можете сделать следующее:

  • С помощью HTTPS клонируйте любой текст из gist.github.com (или если у вас уже клонированный смысл, переходите к следующему шагу)
  • В любом месте в дереве каталогов gist git запустите команду
git-change-url --to-ssh

Теперь, при условии, что ваш открытый ключ будет загружен на ваш аккаунт github (он должен быть указан здесь), вы должны иметь возможность работать с gist через SSH, без необходимости вводить свои учетные данные github.

Гораздо меньше ошибок, чем редактирование файлов конфигурации git вручную.

Ps: Если вы найдете какие-либо ошибки в script или внесите какие-либо дополнения, не стесняйтесь вилки: D

Ответ 5

Изменить https:// на ssh://[email protected] должен сделать трюк, то есть изменить

https://gist.github.com/donatello/5834862

к

ssh://[email protected]/donatello/5834862

поэтому git clone ssh://[email protected]/... должен клонировать проект (если вы уже добавили SSH-ключ в Github)

По моему личному мнению, официальный документ неясно о SSH.