访问gitlab从http方式改为ssh方式,gitlab使用的不是标准22端口

设置步骤:
1,本地进入.ssh查看是否存在密钥对:xxx和xxx.pub
命令:cd ~/.ssh
2,如果不存在,使用ssh-keygen来创建
命令:ssh-keygen -t rsa -C "youremail@youremail.com"
例如:ssh-keygen -t rsa -C "wanwan5856@163.com"
注解:
Enter file in which to save the key 输入保存秘钥的文件 直接enter即可
Enter passphrase (empty for no passphrase) 输入密码 直接enter即可
此时查看.ssh目录下可看到新增的一对秘钥id_rsa和id_rsa.pub
3,查看公钥
命令: cat ~/.ssh/id_rsa.pub 
复制全部,包括后面的邮箱
4,添加到gitlab中
左侧栏Profile Settings → 左侧栏SSH Keys → 粘贴并Add key
5,创建config,端口为22可忽略这一步
命令:cat>~/.ssh/config
输入:
Host gitlab.xxx.com
User git
Port 458
IdentityFile /home/yourname/.ssh/id_rsa(替换成你的id_rsa所在的路径)

6,更改remote
使用git remote -v查看origin和upstream的url,把http更改为ssh地址,命令:git remote set-url origin(或者upstream) xxxx
例如:
git remote set-url origin git@gitlab.xxxx.com:xxx/server.git
git remote set-url upstream git@gitlab.xxxx.com:enterprise/server.git

7,验证是否设置成功
命令:ssh -T git@gitlab.xxxxxxxx.com
显示Welcome to GitLab, yourname! 代表成功。

 

以上总结的是http改为ssh,若是一开始clone就是以ssh方式访问,方法见下:

同样第5步根据需要选择配置与否。

第6步改为

git clone git@gitlab.xxxx.com:xxx/server.git  clone远程仓库到本地,称为origin

git remote add upstream http://gitlab.xxxx.com/enterprise/server.git  添加upstream

 

 

最后再总结一下fork,origin,upstream的关系吧:

成为一个项目的新成员,需要在原项目的基础上进行开发,fork就是复制原项目一份给自己,fork不会自动更新,也就是说fork放着不管的话代码最后一次一直停留在复制出它的那一刻。

origin即自己的远程仓库

upstream用于与原项目保持联系,更新到最近的修改。

posted @ 2018-04-19 13:18  会飞的夜良  阅读(5586)  评论(0编辑  收藏  举报