很多开发者和运维人员在项目上线时,仍然习惯手动打包压缩并通过FTP上传代码。这种方式不仅效率低下,还极易出现遗漏文件或覆盖错误的情况。使用Git进行代码发布,能够实现严格的版本控制、支持一键回滚以及自动化部署,是现代前后端项目的标准做法。本文将用大白话带你走通整个流程,从本地环境准备到服务器自动拉取代码,一步步教你搭建稳定可靠的发布链路,彻底告别手工上传的繁琐。
第一步:准备本地与远程仓库环境
发布的前提是代码托管平台已经就绪。你可以使用GitHub、GitLab或国内的Gitee。在本地电脑安装好Git后,先全局配置用户信息,执行git config命令设置你的姓名和邮箱。接着生成SSH密钥对,将公钥添加到代码平台的账户设置里。这样你就不用在每次推送时重复输入账号密码,网络不通畅时也能保持稳定连接。前往平台创建一个新的远程仓库,复制它的SSH地址,这是后续所有操作的起点。建议在创建仓库时勾选忽略文件模板,比如node_modules或venv,避免把无关的大文件上传到云端占用空间。
第二步:掌握基础提交与推送流程
进入项目根目录,执行git init命令初始化本地仓库。把需要管理的文件加入暂存区,使用git add点号命令。然后输入git commit并配上清晰的描述信息,例如修复登录页样式问题。这一步相当于给代码拍快照,方便日后追溯和对比。确认无误后,将本地分支推送到远程主分支,常用命令是git push origin main。如果团队有严格的分支管理规范,建议先在feature分支开发,测试通过后合并到develop或main分支再发布,避免直接污染主干代码。推送前务必执行git pull拉取最新远程变更,防止多人协作时产生冲突。
第三步:服务器端配置裸仓库与钩子
代码最终要落到生产服务器上。为了安全且高效,建议在服务器新建一个专门的目录存放Git裸仓库。裸仓库不包含工作目录,只保存版本历史数据,非常适合接收外部推送而不干扰正在运行的程序。执行git clone加带冒号的参数可以创建裸仓库。设置好权限后,确保当前运行Web服务的用户对该目录有读写权限。接下来需要修改裸仓库下的hooks文件夹,找到post-receive.sample文件,重命名为post-receive。这个钩子文件会在收到代码推送后自动触发,是实现免手动拉取的核心开关。
第四步:编写自动化拉取与重启脚本
打开post-receive文件,在里面写入具体的执行逻辑。通常使用git worktree add或者git checkout加硬重置参数,把最新代码精准拉到实际的项目运行目录。记得替换成绝对路径,避免相对路径在后台运行时找不到位置。写完脚本后,必须使用chmod命令赋予它可执行权限。当开发者执行git push时,服务器会自动执行这段脚本,完成代码热更新。如果你的项目需要编译或安装依赖,可以在脚本末尾追加npm run build或python manage.py migrate等命令,最后通过systemctl restart nginx让服务生效,真正实现一键发布。
第五步:验证发布效果与日常维护技巧
配置完成后,做一次完整的闭环测试。在本地随意修改几行代码,按顺序执行添加、提交和推送。观察终端输出和服务器日志,确认代码是否准确替换,数据库迁移是否顺利,服务是否正常重启。初期可能会遇到权限不足或路径错误的问题,检查服务器用户组和文件归属即可解决。日常使用中,定期清理服务器上的旧工作目录,保持磁盘整洁。同时养成写规范提交信息的习惯,配合Git log命令,能让团队协作更加透明高效。掌握这套流程后,无论是个人独立开发还是企业级多节点应用,代码发布都将变得简单可控,大幅降低人为失误的概率。



