基于Git的代码托管平台

一、基于 git 的代码托管平台有哪些

  • GitHub
  • Gitee 码云:国内
  • GitLab:既是一种服务,也是一种软件。你可以在http://gitlab.com上去租用服务,也可以下载gitlab软件自己搭建服务

二、SSH Key

1. 查看和生成 SSH Key

查看当前电脑是否存在 .ssh 文件夹:cd ~/.ssh (Win 默认路径 C:/Users/Administrator 文件夹下)  

若不存在 .ssh 文件夹或 SSH Key 已失效,需要重新生成 SSH Key。打开终端,在 ./ssh 文件下输入:

ssh-keygen

当系统提示输入要保存密钥的文件夹时,直接按 Enter 键接受默认的文件位置就行了。

.ssh 文件夹里面有 id_rsa 和 id_rsa.pub 两个文件,id_rsa 是私钥,不能泄露出去,id_rsa.pub 是公钥,用于添加到 GitHub 或 GitLab 上。

查看公钥:打开终端,输入

cat id_rsa.pub

然后复制所有内容供添加公钥的时候使用。

2. 添加 SSH Key(GitHub)

登录GitHub -> 点击右上角公文包 -> Settings -> SSH and GPG keys -> Add SSH Key -> 在 Key 输入框添加 id_rsa.pub 文件里的内容 -》输入title -》点击 Add Key -》添加完成。

检查 SSH Key 是否添加成功:

ssh -T git@github.com

3. 添加 SSH Key(GitLab)

登录 GitLab -》点击右上角头像 -》Settings -》点击左侧的SSH Keys -》在 Key 输入框添加 id_rsa.pub 文件里的内容 -》输入title -》点击 Add Key -》添加完成。

检查 SSH Key 是否添加成功:

ssh -T git@git2.xxxx.cc

4. 如果同时使用GitLab和GitHub,那么就需要配置多个ssh key

1、使用如下命令,指定文件名生成一个ssh key

ssh-keygen -t rsa -C 'xxx@xxx.com' -f ~/.ssh/gitlab_rsa

此时在.ssh文件夹下面会生成gitlab_rsa和gitlab_rsa.pub两个文件

2、在~/.ssh文件夹下面新建名为config的文件,用来配置多个ssh key

# gitlab
Host gitlab.bitautotech.com
    HostName gitlab.bitautotech.com
    User xuxiaolong3
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab_rsa
# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa

# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# User : 登录名,不填写的话,默认使用邮箱作为登录名
# IdentityFile : 指明上面User对应的identityFile路径

此时再次去终端进行clone,第一次会让你输入密码,输入完成之后就可以正常clone了。

三、为什么要添加 SSH Key?

ssh 是一种网络加密协议,在基于Git的代码托管平台上添加 SSH Key 以后就可以使用ssh地址克隆项目了,而且不用每次提交代码都输入用户名和密码。

项目比较大,提交记录很多的项目建议用 ssh clone 到本地,速度会比较快。

使用 https 地址clone除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放 http 端口的公司内部就无法使用 ssh clone而只能用 https

四、用ssh clone项目时,没有添加 SSH Key 情况下的报错信息

用 git clone 从 Git 上拉项目时,如遇到以下报错就是 github 上没有添加 SSH Key。

Warning: Permanently added the RSA host key for IP address '13.250.177.223' to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

五、GitHub平台上的一些操作

1. 如何在GitHub上删除项目?

点击要删除的项目 -> Settings -> 右下角 ‘Delete this repository’ -> 输入要删除的项目名。

2. 在 GitHub 上查看分支差异

比如我的 GitHub 上有一个叫 testGit 的项目,只要在浏览器地址栏后面加上 compare 就能跳转到分支对比页面:https://github.com/huangpb/testGit/compare

 还可以查看跟几天前的差异,想了解更多请点这里

六、其他

1. GitLab 服务器 IP 地址更换了怎么办?

把 .ssh/known_hosts 文件里 GitLab 域名和IP的映射删除。具体步骤如下:

cd ~/.ssh
vim known_hosts

按 i,然后把 GitLab 的域名和对应的 ip 地址删除。

按 ESC,按 Shift + ;,按 wq 保存并退出。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值