在服务器上部署Git并实现代码自动同步到网站,不仅能提升团队协作效率,还能实现秒级更新发布,以下是经过实战验证的标准化流程:

Ubuntu/Debian sudo apt update && sudo apt install git -y CentOS sudo yum install git -y
验证安装:git --version
2. 创建专用系统用户(安全隔离)
sudo adduser gitdeploy sudo passwd gitdeploy # 设置高强度密码 sudo usermod -aG www-data gitdeploy # 加入网站用户组
sudo su - gitdeploy mkdir /home/gitdeploy/website.git && cd $_ git init --bare # 创建裸仓库
创建钩子脚本:
vim /home/gitdeploy/website.git/hooks/post-receive
#!/bin/bash
TARGET="/var/www/your_site" # 网站根目录
GIT_DIR="/home/gitdeploy/website.git"
BRANCH="main"
while read oldrev newrev ref
do
if [[ $ref =~ .*/${BRANCH}$ ]]; then
echo "🚀 检测到main分支变更,开始同步..."
git --work-tree=${TARGET} --git-dir=${GIT_DIR} checkout -f ${BRANCH}
# 权限修复
chown -R gitdeploy:www-data ${TARGET}
find ${TARGET} -type d -exec chmod 755 {} \;
find ${TARGET} -type f -exec chmod 644 {} \;
echo "✅ 网站已更新至最新版本"
fi
done关键权限设置:

chmod +x /home/gitdeploy/website.git/hooks/post-receive chown -R gitdeploy:gitdeploy /home/gitdeploy
ssh-keygen -t ed25519 # 本地生成密钥 cat ~/.ssh/id_ed25519.pub # 复制公钥
将公钥添加到服务器:
vim /home/gitdeploy/.ssh/authorized_keys
1、本地初始化项目
cd my_website git init git remote add deploy ssh://gitdeploy@你的服务器IP:/home/gitdeploy/website.git
2、触发首次部署
git add . git commit -m "首次部署" git push -u deploy main # 自动同步到/var/www/your_site
1、禁用Shell登录(必做)

sudo vim /etc/passwd 修改行:gitdeploy:x:1001:1001::/home/gitdeploy:/usr/bin/git-shell
2、防火墙规则
sudo ufw allow from 你的IP to any port 22 # 限制SSH源IP sudo ufw enable
3、仓库访问日志
sudo auditctl -w /home/gitdeploy/ -k git_access
| 现象 | 解决方案 |
| 钩子未触发 | 检查脚本权限:ls -l hooks/post-receive |
| 文件权限错误 | 运行:sudo chown -R gitdeploy:www-data /var/www |
| SSH连接超时 | 确认防火墙放行22端口:sudo ufw status |
| 推送被拒绝 | 检查服务器.ssh/authorized_keys文件权限应为600 |
分支策略:创建dev分支测试,合并到main触发生产环境更新
持续集成:结合GitHub Actions自动运行测试后再同步
回滚机制:git reset --hard HEAD~1 && git push -f
>个人观点:Git自动化部署彻底解决了"FTP上传时代"的版本混乱问题,但务必记住:永远不要在服务器直接修改代码!所有变更都应通过本地提交推送,这不仅是技术规范,更是团队协作的纪律,对于中小型网站,这套方案比Jenkins等工具更轻量高效,且能减少70%的部署失误。
文章摘自:https://idc.huochengrm.cn/fwq/11720.html
评论
公叔听筠
回复在服务器上安装Git并配置同步,需先下载软件包进行本地环境搭建后设置仓库推送与拉取权限即可实现代码文件实时更新。
段干安双
回复在服务器上安装 Git,首先需配置好 SSH 密钥,然后通过 apt-get 或 yum 安装 Git,接着配置 Git 用户信息,最后克隆或推送代码以实现同步。
丘香梅
回复在服务器上部署Git并实现代码自动同步到网站,通过安装Git、创建专用用户、初始化仓库、配置钩子、本地配置SSH密钥等步骤,可提升团队协作效率,实现秒级更新发布。
始魄
回复在服务器上安装Git实现同步,首先确保服务器操作系统支持Git,然后通过包管理器安装Git,创建Git仓库,配置SSH密钥,最后在本地机器上克隆或推送代码以实现同步。