Git 管理小型 PHP 项目足够:需正确设置仓库根目录(如 /var/www/myblog 而非 htdocs)、用 .gitignore 排除 vendor/、config.php 等敏感或生成文件、提交信息用动词开头说明改动与原因、上线前确保远程 main 与生产环境一致,并养成 git status 和 git add -p 习惯。

用 Git 管理小型 PHP 项目足够了
不需要 SVN、不需要私有 Git 服务器,git init + git add + git commit 就能解决 95% 的小项目版本控制需求。关键是把 .git 放对位置、忽略该忽略的文件,别让 vendor/ 或 config.php 被意外提交。
初始化时必须避开的三个坑
常见错误是直接在 htdocs 或 www 根目录下 git init,结果把整个 Apache/Nginx 运行环境都纳入了仓库。正确做法是:把 Git 仓库根目录设为项目本身(比如 /var/www/myblog),而不是 Web 服务器的文档根目录。
-
.gitignore至少要包含:vendor/、node_modules/、composer.lock(如果不用锁定依赖可删)、*.log、config.php(含敏感配置) - 不要把
index.php里硬编码的数据库密码提交——用config.example.php提交模板,再让团队各自复制一份改名并忽略 - PHP 文件编码统一用 UTF-8 无 BOM,否则
git diff可能误报“二进制文件”或乱码
日常提交怎么写 message 才不翻车
小项目不是不用写好 message,而是更需要写得直白。Git 不会帮你记住“昨天改了登录页”,它只认你写的文字。用动词开头,一句话说清「改了什么 + 为什么」,比如:
柏顿企业网站管理系统(免费版)秉承了东莞柏顿软件的一惯原则(致力于打造简洁、实用、绿色的管理系统)而推出的一款适合广大中小型企业的网站管理系统。主要功能如下:1.基本设置:联系方式、关键字、版权信息等等;2.菜单管理:用户可以在线增加、删除、修改和隐藏前台的菜单栏目和菜单项3.新闻系统:支持二级分类,可分类查看新闻、修改新闻、批量推荐、删除新闻,可设置是否推荐、新闻点击等4.产品系统: 产品类别新
git commit -m "fix: login.php session_start() called after output"
git commit -m "feat: add contact-form-handler.php with basic validation"
- 避免空 message:
git commit -m ""或只写"update"—— 后续查 bug 时根本没法定位 - 本地改完别急着 push;先
git status看有没有漏加或误加(比如不小心git add .把日志也加进去了) - 如果只是临时调试加了
var_dump(),记得提交前删掉——这类痕迹容易被当成正式逻辑保留下来
备份和协作靠 GitHub/GitLab 就够用
小项目没必要搭 Gitea 或自建 Git 服务。注册一个免费账号,git remote add origin https://github.com/user/project.git,然后 git push -u origin main。重点在于:每次上线前,确保线上服务器上的代码和远程 main 分支完全一致。
立即学习“PHP免费学习笔记(深入)”;
- 上线建议用
git pull而非覆盖上传:避免遗漏删除旧文件(比如改名了的old-api.php) - 如果多人维护,哪怕只有两个人,也强制用分支:
git checkout -b fix/login-timeout,修完git push origin fix/login-timeout,再合并到main - 别在生产环境直接
git pull后就刷新页面——先composer install --no-dev(如有),再确认config.php权限是 600,且不在 Web 可访问路径下
git add .,结果把调试残留、临时文件、甚至 IDE 的 .idea/ 目录全塞进去了。养成先 git status、再 git add -p(交互式添加)的习惯,比背一百条命令都管用。










