前提设定:

设置仓库名: git_project

设置的服务器文件夹: work_project

设置的目录路径: mygit

服务器操作

切换到root账户

sudo su root

创建git_project仓库目录

mkdir /mygit/git_project

赋予权限

chown -R git:git /mygit/git_project
chmod -R 755 /mygit/git_project

建立网站根目录work_project

mkdir /mygit/work_project

赋予权限

chown -R git:git /mygit/work_project
chmod -R 755 /mygit/work_project

新建空白的git仓库并初始化

cd /mygit/git_project
git init --bare work_project.git

img

创建 Git 钩子,用于自动部署

vim /mygit/git_project/work_project.git/hooks/post-receive

同上,进入编辑模式,粘贴下面代码并保存退出

#!/bin/bash
git --work-tree=/mygit/work_project --git-dir=/mygit/git_project/work_project.git checkout -f

修改权限

sudo chown -R git:git /mygit/git_project/work_project.git/hooks/post-receive

sudo chmod +x /mygit/git_project/work_project.git/hooks/post-receive

赋予权限

sudo chown -R git:git /mygit/git_project/work_project.git

sudo chmod -R 755 /mygit/git_project/work_project.git

重启服务器

仓库建立完毕

本地仓库操作

首次进行git初始化

cd 要上传的文件夹目录路径

git init

添加远程仓库地址

git remote add origin git@服务器公网IP:/mygit/repo/work_project.git

添加要上传的代码或者全部添加

git add --all

上传代码到服务器

git push -u origin master  # 如果默认分支是 master
# 或
git push -u origin main # 如果默认分支是 main