首先你需要准备自己的服务器;
在自己的服务器上,需要做以下准备工作:
- 安装git
- 新建一个账户用于git操作
- 创建git存储文件夹;
- 初始化仓库
一、安装git
sudo apt-get install git
yum install git
二、创建用于管理git的账户
1.创建账户
按照惯例,创建一个git:git账户用作git的操作账户(默认会添加到git属组):
useradd git
groups git
//git:git
之后需要将git账户的bash更改为
/usr/bin/git-shell
修改该方法为用vi修改passwd文件
vi /etc/passwd
找到刚刚创建的git账户,更改如下:
修改之后,不能够通过git远程连接bash。
2.账户权限
经过以上步骤,我们获得了一个用于进行git操作的账户。如果服务器上已经存在git的仓库,那么我们已经可以进行git操作,例如(图中的马赛克为你的服务器地址,格式为:
用户名(git) @ 服务器地址(192.***.**.**) : git仓库地址
但是现在访问git是需要输入密码的,所以我们一般会采用ssh密钥的方式进行身份认证,做法如下:
检查你的 ~/.ssh目录,你应当会发现id_rsa(密钥)以及id_rsa.pub(公钥)两个文件(默认文件名),钥匙一一成对,可以重复使用。
接着我们在服务器上用root账户打开git账户的目录,执行以下操作
mkdir .ssh
vi .ssh/authorized_keys
在vi编辑器中,把id_rsa.pub中的内容复制进去,然后保存。为了安全考虑,这里应该将.ssh以及authorized_keys的权限分别限制为700和600:
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
经过以上操作,我们可以在客户端执行以下命令
把密钥添加之后就可以直接上面的clone命令,免除输入密码的烦恼。
三、创建git存储文件夹
要将代码存储在自己的服务器上,我们需要在服务器上新建一个文件夹用于存储代码。要求git账户拥有这个文件夹的访问权限以及写入权限;在新建文件夹之后,我们我们将文件夹的拥有者更改为git:
$ chown -R git:git 你的文件夹地址
这样就能保证git账户对于这个文件夹拥有完全的访问权限以及修改权限;
四、初始化仓库
1. 在服务器初始化一个裸仓库
首先,利用拥有管理员权限的账户在你的文件夹地址下创建一个裸仓库,裸仓库适用于中心仓库(服务器),初始化之后的裸仓库是不含有Working tree的。
git init 你的仓库名称(test.git) --bare
这里 * 为仓库的名称,初始化完成之后,会在文件夹(test.git是一个文件夹,添加git后缀是一种好习惯)生成如下结构:
2. 在本地拉取代码
在服务器创建完成之后,就可以在本地对代码进行拉取;
git clone 用户名(git) @ 服务器地址(192.***.**.**) : git仓库地址(/git/) 你的仓库名称(test.git)
因为是裸库,你应该会看到以下信息