git用于管理php项目代码而非php语言版本,需配置.gitignore忽略vendor/、.env等文件,协作时先git clone再composer install,并用分支策略保障稳定性。

PHP 本身不提供版本控制能力,你真正需要的是用 Git 管理 PHP 项目代码——不是给 PHP 语言“升级版本”,而是对你的 index.php、composer.json、src/ 这些文件做快照、回退、协作。
Git 初始化 PHP 项目时为什么不能只 git init 就完事
因为 PHP 项目常含敏感配置(如 .env)、依赖缓存(vendor/)、调试文件(php-Error.log),直接提交会导致仓库臃肿或泄露密钥。
- 必须在项目根目录新建
.gitignore,写入:vendor/ .env *.log .idea/ *.swp - 运行
git add .前先执行git status -u确认没漏掉意外文件 - 如果已误提交
vendor/,得用git rm -r --cached vendor/脱离追踪,再git commit
PHP 项目中 composer install 和 git clone 的配合顺序
别人拉取你的 PHP 仓库后,vendor/ 是空的——因为 Git 不管它;必须靠 Composer 重建依赖,否则 require 会报错。
- 确保你的
composer.json和composer.lock都已提交(composer.lock必须提交!否则环境不一致) - 协作方拿到代码后执行:
git clone <repo-url> cd <project> composer install - 若提示
class not found,大概率是vendor/autoload.php没被引入,或composer install没跑成功
用 Git 分支管理 PHP 功能开发和线上修复
别在 main 分支上直接改线上 bug,也别把未测完的 API 接口推到主干——分支策略直接影响 PHP 应用稳定性。
立即学习“PHP免费学习笔记(深入)”;
- 日常开发走
feature/login-oauth分支,完成后再git merge --no-ff合入develop - 线上出问题?立刻从
main拉hotfix/db-connection-timeout,修完测试通过后,先合入main,再同步到develop - 部署脚本里别写死
git checkout main,应明确指定 tag(如v2.1.3)或 commit hash,避免因分支指针漂移导致上线内容不符
Git 对 PHP 来说只是工具,真正的难点在于:什么时候该 commit、哪些文件不该进仓库、不同环境的配置怎么隔离。这些不靠命令行技巧,靠的是每次 git status 多看两眼,和对 composer.lock 文件多一分敬畏。