[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/
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#
这是可能的,试试这个: