首页 > tools > git > > 正文

github与gitlab使用的一些经验

发布人:zhoulujun@live.cn    点击:

坚守道心 钟离权十考吕洞宾

虽然最早接触的是github,但是这几年一直使用gitlab办公。

其实二者使用大同小异——工作gitlab,对外show github

创建项目

 Visibility Level 项目可见级别

Internal:The project can be accessed by any logged in user. 团队项目选择这个

Public:The project can be accessed without any authentication. 组件库等,选择这个


gitlab创建项目

github创建项目

github创建项目.jpeg

gitlab 管理项目成员

gitlab 管理成员

添加和配置SSH公钥

当然,你说如用户名密码也可以——不定期再输入一遍。

使用ssh方式时,是不需要验证用户名和密码,如果你在配置ssh key时设置了密码,则仅需要验证配对密码。而对于使用https方式来讲,每次push都需要验证用户名和密码。


SSH(Secure Shell)是一种安全协议,在你的电脑与GitLab服务器进行通信时,我们使用SSH密钥(SSH Keys)认证的方式来保证通信安全。

比如mac远程登录linux   ssh username@ipAddress -p port

配置步骤如下:

  1. ls -al ~/.ssh,检查是否显示有id_rsa.pub或者id_dsa.pub存在,如果存在请直接跳至第3步。

  2. 在bash中输入ssh-keygen -t rsa -C ”yourEmail@example.com”,注意这个地方的邮箱地址地址替换成你自己的邮箱地址即可,在显示如下的输出后一直按回车即可

  3. 打开id_rsa.pub文件,并且复制全部内容

  4. 打开GitLab账户,打开 头像->setting -> SSH Keys,将刚刚复制的内容添加到Key的文本域中,然后点击Add key。

然后就可以开始把本地目录上传到github了

git init

git add .

git commit -m "first commit"

git remote add origin git@github.com:username/yourProject.git

git push -u origin master


GPG和SSH的区别

GPG 密钥是相对长期的,一对密钥生成以后会用几年甚至更久。

SSH 密钥是相对短期的,会经常换新。

GPG 密钥是绑定到人的,而 SSH 是绑定到服务器的(可以一个服务器用一对密钥,或者一个网站用一对密钥)。

所以对于 GitHub 来说,提供 SSH 密钥比较实际些。而 GPG 密钥由于已经有各大服务器提供了,所以再提供一个意义不是很大。

gpg 信任模型里,人和 keyid 的对应关系要求“亲眼核实”才算数的。 github 又没见过你,就凭你上传一个 publickey 就说这个 key 是你?那你如果上传的是别人的 publickey 呢?

github 能保证的只有:这个 commit 上的签名,和你上传的 publickey 能够对应的时候,给你显示个已核实该签名

参看:https://www.v2ex.com/t/274133



20180726212923214.png