PHP怎么进行版本控制_达内课程Git使用教学【教学】

2次阅读

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

PHP怎么进行版本控制_达内课程Git使用教学【教学】

PHP 本身不提供版本控制能力,你真正需要的是用 Git 管理 PHP 项目代码——不是给 PHP 语言“升级版本”,而是对你的 index.phpcomposer.jsonsrc/ 这些文件做快照、回退、协作。

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 installgit clone 的配合顺序

别人拉取你的 PHP 仓库后,vendor/ 是空的——因为 Git 不管它;必须靠 Composer 重建依赖,否则 require 会报错。

  • 确保你的 composer.jsoncomposer.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
  • 线上出问题?立刻从 mainhotfix/db-connection-timeout,修完测试通过后,先合入 main,再同步到 develop
  • 部署脚本里别写死 git checkout main,应明确指定 tag(如 v2.1.3)或 commit hash,避免因分支指针漂移导致上线内容不符

Git 对 PHP 来说只是工具,真正的难点在于:什么时候该 commit、哪些文件不该进仓库、不同环境的配置怎么隔离。这些不靠命令行技巧,靠的是每次 git status 多看两眼,和对 composer.lock 文件多一分敬畏。

text=ZqhQzanResources