VPS教程
自建Git服务教程
04/07
大家都知道我们可以使用开源软件构建Git代码仓库服务器,比如说Gitlab、Gitblit 构建公司的代码仓库服务器都是可以的,那么如果不用这些开源软件,我们可以自建Git服务器吗?答案当然是可以的,也就是使用命令行方式,实现也比较简单。
一、安装Git服务端
#安装git
yum install git -y
#创建git用户组和创建用户
groupadd git
useradd git-dev -c git-dev -g git -s /bin/git-shell
#初始化git仓库,并且授权对应用户和用户组
git init --bare /srv/git-dev.git
chown -R git-dev:git /srv/git-dev.git
#在git-dev用户创建存放免密钥登入的文件,并且授权
mkdir /home/git-dev/.ssh && touch /home/git-dev/.ssh/authorized_keys
chown git-dev:git /home/git-dev/.ssh -R && chmod 600 /home/git-dev/.ssh/authorized_keys
如上初始化的目录文件剖析:
- HEAD:映射到ref引用,能够找到下一次commit的前一次哈希值
- config:git仓库的配置文件
- description:仓库的描述信息,主要给gitweb等git托管系统使用
- hooks(钩):存放一些shell脚本,可以做自动触发
- Info:exclude:存放仓库的一些信息
- objects:存放所有的git对象
- refs: heads:保存当前最新的一次提交的哈希值
二、客户端Git安装
在Windows下,直接去官网下载git客户端,地址为:https://git-scm.com/download/win,然后点击安装提示进行安装即可。
在Linux下,直接yum install git -y 一键安装即可。
在客户端下生成公私钥,并且将公钥拷贝至Git服务器下即可。做这一步主要是为了免密码拉取代码。具体操作步骤如下:
#生成公钥私钥
ssh-keygen
#查看公钥,并且将公钥拷贝至git服务器/home/git-dev/.ssh/authorized_keys这个文件内即可
cat ~/.ssh/id_rsa.pub
三、测试
在客户端进行克隆和更新代码操作,具体操作步骤如下:
#克隆远程仓库代码,这里走的是ssh
git clone ssh://git-dev@172.18.0.8/srv/git-dev.git
#进入克隆的目录,并且添加代码
cd git-dev/ && echo 'hello world!' > index.html
#查看git本地仓库状态
git status
#添加到本地数据库
git add index.html
#配置本地账户密码
git config --global user.email "git-dev@qq.com"
git config --global user.name "git-dev"
#提交到本地仓库
git commit -am "first commit index.html"
#推送到远程git代码仓库下
git push origin master
#查看提交的hash值
git log|head -1|sed 's#commit ##g'
git log -n1 --format=format:"%H"