LOADING...

加载过慢请开启缓存(浏览器默认开启)

loading

搭建自己的Git仓库【踩坑】

2022/8/29 技术

最近将博客从Typecho搬至Hexo,考虑到国内访问Github Page那众所周知的速度,因此我决定在自己的小水管上建一个私有git仓库,然后将hexo文件同时deliver到两个仓库上。安全+速度,岂不美哉- v -

环境

CentOS

1. 创建用户

sudo adduser git
sudo addpw git
# 然后输入两遍密码。

2. 建立Git仓库

# 切换git用户
sudo su git
# 切换环境为/home/git内 
cd
# 创建文件夹 
mkdir soulterBlog
cd soulterBlog
sudo git init --bare myBlog.git

到这一步,可能会出现git用户使用sudo导致的错误,因为git用户无权使用sudo命令。
下面是解决方案↓

su root
chmod u+w /etc/sudoers
vi /etc/sudoers

在文件末尾,添加

git ALL=(ALL) ALL

保存退出,再

sudo git init --bare myBlog.git

即可。

至此,创建了裸仓库。当push到这个仓库后,会得到一个pack文件,但是此时还看不到具体的工作文件。

# 当前在服务器裸仓库内
cd hooks
# 创建打开post-receive
vim post-receive

输入

#!/bin/sh
git --work-tree=[工作空间地址] --git-dir=[git仓库地址] checkout -f

保存退出。

再push之后,理论上就可以在工作空间地址看到push上来的文件了。
然鹅,push时也有可能报错…
such as:

......failed to unpack

很大原因是git目录或者工作空间目录没有足够权限。挂一个777权限就行。

img_show