[ Git ] 搭建 Git 服务器,并实现 push 后文件同步到站点

hugo

简述

虽然使用 hugo 生成了静态博客,但是想到每次生成的文件都要手动上传到服务器,就觉得不人性。经过度娘搜索一番后,发现可以结合 Git 很方便的同步内容。

一、创建仓库

创建 git 服务器目录并进入

$ mkdir /var/repo && cd /var/repo

创建裸仓库,blog.git 是仓库名

$ git init --bare blog.git

二、同步站点

进入站点目录

$ cd /www/wwwroot

克隆 git

$ git colone /var/repo/blog.git blog

进入仓库 hooks

$ cd /var/repo/blog.git/hooks

创建并编辑 post-receive 文件

$ vi post-receive
#!/bin/sh
git --work-tree=/www/wwwroot/blog --git-dir=/var/repo/blog.git checkout -f

给 post-receive 文件加权限

$ chmod +x post-receive

三、使用

本机克隆仓库

$ git clone ssh://root@服务器IP/var/repo/blog.git blog

之后就是正常的 git 操作了,push 后会自动同步一份到站点目录。


Git

253 Words

2020-07-23 08:00 +0800