问题描述
我在手机上想通过SSH克隆我的仓库,但是需要登入到Github上才能获取到SSH链接,其他方式好像只能获取HTTPS链接.有时候登陆比较麻烦,所以我需要写点代码来实现HTTPS和SSH地址的相互转换。
实例
在下面输入框中输入地址
,然后点击转换
按钮即可转换HTTPS地址为SSH地址,或者转换SSH地址为HTTPS地址:
SSH链接格式
1 | git@远程仓库域名:用户名/仓库名.git |
例如:1
git@github.com:lanlan2017/lanlan2017.github.io.git
Https格式
1 | https://远程仓库域名/用户名/仓库名.git |
例如:1
https://github.com/lanlan2017/lanlan2017.github.io.git
转换规则
经过观察,我发现后面的用户名/仓库名.git
都是一样的,
- 在这部分前面加上
git@远程仓库域名:
就得到SSH地址, - 在这部分前面加上
https://远程仓库域名/
就得到HTTPS地址.
SSH转HTTPS
匹配正则:1
^git@(.+?):(.+?/.+?\.git)$
替换正则:1
https://$1/$2
HTTPS转SSH
1 | ^https://(.+?)/(.+?/.+?\.git)$ |
替换正则:1
git@$1:$2
源码
1 | <input type="text" id='input' placeholder="请输入HTTPS/SSH地址" size="40"/><button onclick='switchHttpsSsh()'>转换</button> |