Github似乎真的希望我们使用HTTPS协议来使用Gist,例如,他们只在Gist页面上列出HTTPS URL-例如。https://gist.github.com/donatello/5834862是否可以使用SSH协议克隆Gist?
mf98qq941#
是的,有可能:
git clone git@github.com:5834862.git
当然,只要用自己的Gist ID替换即可。
prdp8dxp2#
gist页面的下拉列表现在有嵌入/共享/克隆HTTPS/克隆SSH选项(但SSH选项只有在您登录时才会显示):
其中显示了一个不明显的技巧,即省略用户名:
https://gist.github.com/b6f4a53fac485f75afb9150d03efb2f6.git无论是否使用.git,无论是否使用用户名,都对我有效:https://gist.github.com/cben/b6f4a53fac485f75afb9150d03efb2f6(和github上一样,git也可以使用规范浏览URL)
https://gist.github.com/b6f4a53fac485f75afb9150d03efb2f6.git
.git
https://gist.github.com/cben/b6f4a53fac485f75afb9150d03efb2f6
git@gist.github.com:b6f4a53fac485f75afb9150d03efb2f6.git又名
git@gist.github.com:b6f4a53fac485f75afb9150d03efb2f6.git
ssh://git@gist.github.com/b6f4a53fac485f75afb9150d03efb2f6.git
无论有没有.git,它都能为我工作,但不能与用户名一起工作。我启用了github 2FA,这让HTTPS很痛苦,所以我总是想要SSH;下面的~/.gitconfig在push上对所有gist进行翻译:
~/.gitconfig
[url "ssh://git@gist.github.com/"] # 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://git@gist.github.com/"]
# 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://git@github.com/"] pushInsteadOf = https://github.com/[url "ssh://git@bitbucket.org/"] pushInsteadOf = https://bitbucket.org/[url "ssh://git@gitlab.com/"] pushInsteadOf = https://gitlab.com/
[url "ssh://git@github.com/"]
pushInsteadOf = https://github.com/
[url "ssh://git@bitbucket.org/"]
pushInsteadOf = https://bitbucket.org/
[url "ssh://git@gitlab.com/"]
pushInsteadOf = https://gitlab.com/
P.S.调试insteadOf和pushInsteadOf配置的一个方便简单的方法是运行git remote -v,它显示了有效的URL获取/推送将使用。
insteadOf
pushInsteadOf
git remote -v
zy1mlcev3#
https://help.github.com/articles/which-remote-url-should-i-use#ssh-readwrite---gitgithubspanspancomgit@.....是ssh协议当你复制这克隆网址为一个要点它显示你的https克隆网址https://gist.github.com/5834862.git将https://更改为git@,将/****.git更改为:****.git所以在这种情况下git clone git@gist.github.com:5834862.git
https://gist.github.com/5834862.git
https://
git@
/****.git
:****.git
git clone git@gist.github.com:5834862.git
rt4zxlrg4#
如果需要,可以获取this脚本并将其放在$PATH中的某个位置。完成后,您可以执行以下操作:1.使用HTTPS从gist.github.com克隆任何gist(或者如果您已经克隆了gist,则继续下一步)1.在gist的git目录树中的任何位置,运行命令
$PATH
HTTPS
gist.github.com
git-change-url --to-ssh
现在,只要你的公钥上传到你的github账户(应该是here),你就可以通过SSH使用gist,而不必输入你的github凭证。比手工编辑git配置文件更不容易出错。Ps:如果你在脚本中发现任何bug,或者有任何补充,请随时fork:D
SSH
nhaq1z215#
将https://更改为ssh://git@应该可以达到目的,即更改
ssh://git@
https://gist.github.com/donatello/5834862
到
ssh://git@gist.github.com/donatello/5834862
所以git clone ssh://git@gist.github.com/...应该克隆项目(如果你已经在Github上添加了SSH密钥)我个人认为,官方文件对宋承宪的描述并不清楚。
git clone ssh://git@gist.github.com/...
xlpyo6sf6#
为了让它工作,必须从路径中删除用户名,只留下哈希/数字。
osh3o9ms7#
克隆gist的SSH和HTTPS链接可以直接通过GitHub的界面复制,如贝尼Cherniavsky-Paskin的answer所示然而,要点将被放在一个git目录中,以那个丑陋的哈希作为名称。通过在克隆时指定目录名,可以避免这种情况:
git clone git@gist.github.com:9e7f15ae79acd6b60519ef094f669b26.git speedtest-loop
nhaq1z218#
这是可能的,试试这个:
git clone git@YOURSSHHOST:YOURGISTIDHERE.git
8条答案
按热度按时间mf98qq941#
是的,有可能:
当然,只要用自己的Gist ID替换即可。
prdp8dxp2#
gist页面的下拉列表现在有嵌入/共享/克隆HTTPS/克隆SSH选项(但SSH选项只有在您登录时才会显示):

其中显示了一个不明显的技巧,即省略用户名:
https://gist.github.com/b6f4a53fac485f75afb9150d03efb2f6.git
无论是否使用
.git
,无论是否使用用户名,都对我有效:https://gist.github.com/cben/b6f4a53fac485f75afb9150d03efb2f6
(和github上一样,git也可以使用规范浏览URL)git@gist.github.com:b6f4a53fac485f75afb9150d03efb2f6.git
又名
ssh://git@gist.github.com/b6f4a53fac485f75afb9150d03efb2f6.git
无论有没有
.git
,它都能为我工作,但不能与用户名一起工作。我启用了github 2FA,这让HTTPS很痛苦,所以我总是想要SSH;下面的
~/.gitconfig
在push上对所有gist进行翻译:对于常规(非要点)存储库:
P.S.调试
insteadOf
和pushInsteadOf
配置的一个方便简单的方法是运行git remote -v
,它显示了有效的URL获取/推送将使用。zy1mlcev3#
https://help.github.com/articles/which-remote-url-should-i-use#ssh-readwrite---gitgithubspanspancom
git@.....是ssh协议
当你复制这克隆网址为一个要点它显示你的https克隆网址
https://gist.github.com/5834862.git
将
https://
更改为git@
,将/****.git
更改为:****.git
所以在这种情况下
git clone git@gist.github.com:5834862.git
rt4zxlrg4#
如果需要,可以获取this脚本并将其放在
$PATH
中的某个位置。完成后,您可以执行以下操作:1.使用
HTTPS
从gist.github.com
克隆任何gist(或者如果您已经克隆了gist,则继续下一步)1.在gist的git目录树中的任何位置,运行命令
现在,只要你的公钥上传到你的github账户(应该是here),你就可以通过
SSH
使用gist,而不必输入你的github凭证。比手工编辑git配置文件更不容易出错。
Ps:如果你在脚本中发现任何bug,或者有任何补充,请随时fork:D
nhaq1z215#
将
https://
更改为ssh://git@
应该可以达到目的,即更改到
所以
git clone ssh://git@gist.github.com/...
应该克隆项目(如果你已经在Github上添加了SSH密钥)我个人认为,官方文件对宋承宪的描述并不清楚。
xlpyo6sf6#
为了让它工作,必须从路径中删除用户名,只留下哈希/数字。
osh3o9ms7#
克隆gist的SSH和HTTPS链接可以直接通过GitHub的界面复制,如贝尼Cherniavsky-Paskin的answer所示
然而,要点将被放在一个git目录中,以那个丑陋的哈希作为名称。
通过在克隆时指定目录名,可以避免这种情况:
nhaq1z218#
这是可能的,试试这个: