概念:Git是一个版本控制系统(Version Control System , VCS)
1.gitlab如何配置ssh key
2.ssh地址下载和http下载的区别
3.共存
gitlab如何配置ssh key?
打开gitlab网站,点击个人的setting中
这里添加ssh,也可以点击generate it按钮,里面有详细的配置方法。
我按照上面的方式
ssh-keygen -t rsa -C 'myEmail@XX.com'
如果不想要上面输入,可以在命令中加上 -f 和文件名
后面要你输入保存文件的密码,直接回车就可以了。
但是这个时候我发现在我Mac上的一个问题:我创建的公钥和密钥都没有保存在~/.ssh目录下,而是保存在当前目录下。那么在使用上面命令创建公钥和密钥的时候给文件名前加上目录
ssh-keygen -t rsa -f ~/.ssh/123 -C 'myEmail@xx.com'
然后复制公钥
pbcopy < ~/.ssh/123.pub
粘贴到刚刚打开的网页中,点击保存。
最后发现我的电脑上保存文件名为‘123.pub’,想克隆仓库告知我没有权限,后来又新建了一次,保存名称为id_rsa就可以了。为什么呢?在后面的共存中可以找到解决方法
ssh地址下载和http下载的区别
首先都可以下载,http方式的下载的仓库必须上public状态的。http在push的时候需要验证账号和密码,ssh可以通过密钥进行连接,不需要输入密码。
gitlab和github共存
下面就是本文的重点。我现在遇到这么个问题,公司项目上gitlab管理的,个人想沉淀一些东西放在github上,结果发现两者都需要ssh key,生成的id_rsa在同一台机器上的同一位置,但是账号不同。这样在同一台机器上是冲突的。
思路:创建config文件,根据不同的状态使用不同的公钥
在~ /.ssh 目录下面
touch config
vi config
配置config的值
开始的时候发现实在找不到host和hostname,经过尝试,把 host 和 hostname 设置成相同的一个值,你打开gitlab网站,在url框中前半部份就是。取出来,写入config文件。网上资源说需要设置config的user.name和user.email。我在config里面设置了User,没有出现冲突的情况。
写的很粗糙,还望指正