本地服务器作为git仓库

git仓库

安装git

sudo apt-get update
sudo apt-get install git

切换root用户

su root

添加git用户

adduser git

修改权限

chmod 740 /etc/sudoers
vim /etc/sudoers

在root ALL=(ALL:ALL) ALL下面添加一条

git ALL=(ALL:ALL) ALL

然后保存并退出,将sudoers文件权限改回原样:

chmod 400 /etc/sudoers

git用户配置

设置git用户的密码:

sudo passwd git
切换到git用户,然后在~目录下创建 .ssh文件夹:
su git
cd ~
mkdir .ssh
cd .ssh

生成公钥密钥文件:

ssh-keygen

将公钥文件复制一份:

cp id_rsa.pub authorized_keys

修改authorized_keys的权限:

chmod 755 ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

然后保存并退出后,我们就可以利用ssh连接和登陆git用户啦~

之后记得把博客hexo文件的拥有者改为git,否则hexo d没有权限上传

su root
chown git -R /博客路径

Git的勾子hooks

创建仓库

su root
cd /home/git
git init --bare blog.git		// 在/home/git下创建新仓库blog.git
chown git:git -R blog.git		// 给予git用户权限

/home/hexo/blog.git/hookd 下创建一个 post-receive 文件
把提交到 /home/git/blog.git 仓库里的文件同步到 /home/ubuntu/hexo(上文nginx的root资源目录) 中。

cd blog.git/hooks/
vim post-receive

post-receive 中添加以下内容:

#!/bin/bash
git --work-tree=/home/xld/hexo --git-dir=/home/git/blog.git checkout -f

保存退出,添加可执行权限:

chmod +x /home/git/blog.git/hooks/post-receive

————————————————
版权声明:本文为CSDN博主「细粒丁」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/li1055107552/article/details/121897025

如果是同ip地址第2次上传,记得把上传用的主机的C:\Users\用户名\.ssh\known_hosts里面相关的ip密钥删掉

hexo上传设置

deploy