Ответ 1
Да, возможно:
git clone [email protected]:5834862.git
Просто замените свой собственный идентификатор Gist, конечно.
Кажется, что Github хочет, чтобы мы использовали протокол HTTPS для использования Gists, например, они перечисляют только HTTPS-url на странице Gist. https://gist.github.com/donatello/5834862
Можно ли клонировать Gist с использованием протокола SSH?
Да, возможно:
git clone [email protected]:5834862.git
Просто замените свой собственный идентификатор Gist, конечно.
https://help.github.com/articles/which-remote-url-should-i-use#ssh-readwrite---gitgithubspanspancom
git @..... это протокол ssh
когда вы копируете url клона для gist, он показывает вам https clone url
https://gist.github.com/5834862.git
измените https://
на [email protected]
и /****.git
на :****.git
поэтому в этом случае
git clone [email protected]:5834862.git
В раскрывающемся списке на страницах gist теперь есть встроенные /Share/Clone HTTPS/Clone SSH опции:
которые показывают неочевидный трюк, опускают имя пользователя:
Клон 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/
Если вы хотите, вы можете захватить this script и поместить его где-нибудь в свой $PATH
. Как только это будет сделано, вы можете сделать следующее:
HTTPS
клонируйте любой текст из gist.github.com
(или если у вас уже клонированный смысл, переходите к следующему шагу)git-change-url --to-ssh
Теперь, при условии, что ваш открытый ключ будет загружен на ваш аккаунт github (он должен быть указан здесь), вы должны иметь возможность работать с gist через SSH
, без необходимости вводить свои учетные данные github.
Гораздо меньше ошибок, чем редактирование файлов конфигурации git вручную.
Ps: Если вы найдете какие-либо ошибки в script или внесите какие-либо дополнения, не стесняйтесь вилки: D
Изменить https://
на ssh://[email protected]
должен сделать трюк, то есть изменить
https://gist.github.com/donatello/5834862
к
ssh://[email protected]/donatello/5834862
поэтому git clone ssh://[email protected]/...
должен клонировать проект (если вы уже добавили SSH-ключ в Github)
По моему личному мнению, официальный документ неясно о SSH.