远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如码云、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自由地拉取和提交代码了。
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
也可以直接用编辑器打开对用户名或邮箱进行修改。
如果想重新设置用户名和邮箱,下面分别介绍两种不同的修改git用户名和邮箱的方法。
git config --global user.name "yourname"
git config --global user.email youremail
git config user.name "yourname"
git config user.email youremail
配置完后,单一的仓库的用户名和邮箱会写到该仓库.git下的config文件中。
vim ~/.gitconfig
cd ~/.ssh
ssh-keygen -t rsa -C "your_email@youremail.com"
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键即可。
我这里已经生成好了:
mkdir ~/.ssh
cat id_rsa.pub 或
vim id_rsa.pub 或
cat ~/.ssh/id_rsa.pub