git连接gitlab远程仓库

远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如码云、github、gitlab等等。当然如果你不想你的代码开源就要花费一些费用获得独立的空间,或者在自己的服务器上搭建自己的项目仓库。

本地Git与远端服务器GitLab之间连接方式主要分为:SSH方式和HTTP方式。

HTTP方式:这种方式要求project在创建的时候只能选择“Public”公开状态,Private和Internal私有模式下不能使用http方式进行连接,如果考虑到安全性必须进行安全设置。
SSH方式:这是一种相对安全的方式,本地git仓库和远端gitlab仓库之间的传输是通过SSH加密,SSH方式在三种project模式下都可以使用。

在本篇文章中我以连接gitlab远程仓库为例。由于本地git仓库和gitlab仓库之间的传输是通过ssh加密的,所以必须要让gitlab仓库认证你ssh key,在此之前,必须要生成ssh key。

何谓公钥:
1.很多服务器都是需要认证的,ssh认证是其中的一种。在客户端生成公钥,把生成的公钥添加到服务器,你以后连接服务器就不用每次都输入用户名和密码了。
2.很多git服务器都是用ssh认证方式,你需要把你生成的公钥发送给代码仓库管理员,让他给你添加到服务器上,你就可以通过ssh自由地拉取和提交代码了。

1. 配置本地git

  • 本地git下载,直接去官网下载安装即可。

  • 用户名和邮箱的作用:
    用户名和邮箱地址是本地git客户端的一个变量。用户每次提交代码都会记录用户名和邮箱

  • 配置全局的用户名和邮箱,命令分别为:

git config --global user.name "yourname"

git config --global user.email youemail 
  • 查看全局的用户名和邮箱,命令分别为:
git config --global user.name

git config --global user.email
  • 查看已经设置好的用户名和邮箱:
git config --list
  • 配置完后,全局的用户名和邮箱会写到C盘用户下的.gitconfig中,如:
    git连接gitlab远程仓库_第1张图片
    也可以直接用编辑器打开对用户名或邮箱进行修改。

如果想重新设置用户名和邮箱,下面分别介绍两种不同的修改git用户名和邮箱的方法。

2.使用命令修改git的用户名和提交的邮箱

  • (1)修改全局,如果你要修改当前全局的用户名和邮箱时,需要在上面的两条命令中添加一个参数,–global,代表的是全局。命令分别为:
    注意:设置邮箱(没有双引号)
git config  --global user.name  "yourname"
git config  --global user.email youremail
  • (2)修改当前的 project,命令分别为:
git config user.name "yourname"
git config user.email youremail

配置完后,单一的仓库的用户名和邮箱会写到该仓库.git下的config文件中。

直接修改git的配置文件的方式来进行修改

  • (1) 打开全局的.gitconfig文件的命令为:
vim ~/.gitconfig 
  • 打开如下,然后在文件中直接修改即可
    git连接gitlab远程仓库_第2张图片
  • (2)打开当前project 中的config文件,该文件在每个project中的.git目录下,直接进入该目录进行编辑即可。当然,如果没有进行过修改的话,默认打开时没有对应的用户名和密码的。只有进行过修改之后,才会在config中产生对应字段。

3.配置本地git完成后,生成SSH 密钥,配置GitLab SSH公钥。

  • 新建一个文件夹,用于clone要下的项目,查看本机是否有SSH Key,在终端输入:
cd ~/.ssh
ssh-keygen -t rsa -C "[email protected]"
ll

执行密钥生成命令,基本上是一路回车既可以了,但是需要注意的是:执行命令的过程中是会提示。输入密钥的密码的(如下图中红色箭头处,输入两次相同的,即是又一次确认密码),不需要密码直接回车就行。

Generating public/private rsa key pair. #正在生成公钥/私钥对。

Enter file in which to save the key (/c/Users/xdr/.ssh/id_rsa): #输入key的保存位置,直接回车即可。

Enter passphrase (empty for no passphrase): #如果不想设置密码直接不输入内容,按 Enter键即可。

我这里已经生成好了:
git连接gitlab远程仓库_第3张图片

  • 如果.ssh目录不存在,手动创建,执行上面的生成公钥命令即可
mkdir ~/.ssh
  • 进入到此文件夹中,并执行生成ssh key的命令。然后按三次回车。这时候在.ssh文件夹下就得到了id_rsa和id_rsa.pub两个文件。其中id_rsa中的内容便是私钥id_rsa.pub中的内容便是公钥,可以在C:\Users\用户目录.ssh目录下找到这两个文件。
    git连接gitlab远程仓库_第4张图片
  • 打开id_rsa.pub文件,复制里面的内容
cat id_rsa.pub 或
vim id_rsa.pub 或
cat ~/.ssh/id_rsa.pub
  • 登录GitLab账号,点击头像,Setting->SSH Keys,将复制的公钥黏贴到Key文本框中,title随便添加就可以了。
  • 至此,Git/GitLab连接配置完成,接下来就可以clonegitlab上的项目了。
  • git公钥链接gitlab或gitlab形式差不多类似。
  • 也可以查看我写的另外一篇有关公钥的介绍,Linux服务器之SSH 密钥创建及密钥登录设置

你可能感兴趣的:(git连接gitlab远程仓库,gitlab远程仓库,git,github,ssh)