gitlab远程子仓库配置SSH - 保姆级教程

        背景:在该gitlab main path下原本是链接了一个http的子仓库SDK,但是由于要使用持续集成工具Jenkins检查merge的代码是否编译通过、是否单元测试通过等,因此需要将子仓库SDK的链接引用改为SSH的。改链接引用很容易,将git main path下的.gitmodules文件里的url改为SSH的就好。

        但是遇到了一个问题:重新在本地Git Clone main path,右键点击Submodules update,提示要输入gitlab的密码,输入密码后还是弹出输入密码的框。在网上搜索了一些方法,但是不够详细,走了好多弯路,所以记录下配置SSH的详细过程吧。

配置SSH 

1. win+r输入cmd打开cmd运行窗口输入,git config --global user.name "你的gitlab用户名",回车,输入git config --global user.email "你的gitlab邮箱",回车;                 

gitlab用户名和gitlab邮箱可以在这里看到

2. 输入git config --global --list,回车,这一步知识看下前面的步骤有没有成功;

3. 输入ssh-keygen,连续3次回车,成功之后id_rsa,id_rsa.pub两个文件默认在C:\Users\username/.ssh目录下,cmd运行窗口也显示了文件路径。

ps:如果输入命令ssh-keygen回车显示“ssh-keygen 不是内部或外部命令,也不是可运行的程序xxx”,那么在本地main code文件夹下右键选择Git Bash Here,输入ssh-keygen就可以了,盲猜可能是之前环境变量没配好。

4. 打开id_rsa.pub,复制ssh key

法一:直接用UltraEdit打开id_rsa.pub,复制所有内容;

法二:在本地main code文件夹下右键选择Git Bash Here,输入cat ~/.ssh/id_rsa.pub,回车,

复制以ssh-rsa开头的这段ssh key; 

5. 将ssh key填写到gitlab ​​​SSH Keys上。

 6. 生成.ppk;打开PuTTYgen -> 点击load,选择.ssh/id_rsa -> 点击Save private key,保存ppk文件到.ssh目录下;

7. 本地新建文件夹load ssh path,输入gitlab的个人密码,成功clone sdk到本地;

8. clone main path到本地

(1)clone main path(http);

(2)将生成的.ppk加到Git putty key;

(3)在本地main仓库下右键pull;

(4)右键submodules update将sdk子仓库(ssh)拉取到本地。

正常情况下是能成功克隆到本地的。

异常情况

但是我的笔记本电脑出现了以下问题:

1、TortoiseGitPlink.exe:No such file or directory,fatal:unable to folk.

解决方法:搜索TortoiseGit -> 打开文件位置 -> 打开文件所在位置 -> 复制粘贴文件夹

2、在Git Bash窗口输入git submodul update,出现下图所示的弹框,弹框上提示这个host不能被建立,ED25519 Key是xxx,该问题在问题1解决后也解决了;

3、clone代码报错:error: cannot spawn C:\ProgramData\Microsoft\Windows\Start Menu\Programs\TortoiseGit: Permission denied

原因:之前安装过TortoiseGit,但是残留文件没有清除

解决方法:打开C:\ProgramData\Microsoft\Windows\Start Menu\Programs\TortoiseGit,找到其快捷键,打开文件所在位置,复制其路径,粘贴到下图所示的位置应用即可。

其他问题

Q1. 台式电脑有konwn_hosts,而笔记本没有

A1: known_hosts 是通过ssh去生成的,当你通过ssh去连接到远程的服务器的时候就会生成它。

Q2:生成的xx.ppk是什么?

A1:ppk是由公钥id_rsa.pub和私钥id_rsa生成的程序;

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值