温馨提示×

thinkphp项目在centos上如何进行版本控制

小樊
39
2025-11-29 17:20:56
栏目: 编程语言

在 CentOS 上为 ThinkPHP 项目建立 Git 版本控制

一 环境准备与基础配置

  • 安装 Git:在服务器与开发机均执行安装命令:sudo yum install git -y
  • 配置全局身份:设置提交者信息(与服务器或本机一致),例如:
    • git config --global user.name “Your Name”
    • git config --global user.email “your_email@example.com”
  • 建议同时安装 Composer,用于管理 ThinkPHP 依赖:在 CentOS 可通过系统软件源或官方安装脚本安装后使用。以上步骤完成后即可在 CentOS 上进行标准的 Git 操作(init/clone/add/commit/push/pull 等)。

二 初始化仓库与 ThinkPHP 专用 .gitignore

  • 进入项目根目录(包含 app、config、public 等目录):
    • git init
    • 创建并编辑 .gitignore,至少包含以下内容(避免提交运行时与敏感文件):
      • /runtime/
      • /vendor/
      • /public/uploads/
      • .env
      • .idea/、.vscode/
      • npm-debug.log、yarn-error.log
  • 说明:ThinkPHP 并不内置版本控制系统,项目以普通代码仓库方式由 Git 管理;依赖使用 Composer 管理,通常只提交 composer.json/composer.lock,由团队成员拉取后执行 composer install 还原依赖,避免将第三方库纳入版本库。

三 首次提交与远程协作

  • 添加与提交:
    • git add .
    • git commit -m “Initial ThinkPHP project setup”
  • 关联远程仓库(GitHub/GitLab/Gitee 等):
    • git remote add origin <你的远程仓库URL>
  • 推送到远程(默认分支可能是 mainmaster,按实际替换):
    • git push -u origin main 或 git push -u origin master
  • 日常协作:
    • 拉取更新:git pull --rebase
    • 推送变更:git push
    • 分支开发:git checkout -b feature/x 或 git checkout -b hotfix/x,完成后 PR/代码审查再合并到主干。上述流程适用于在 CentOS 服务器或开发机上对 ThinkPHP 项目进行版本控制与团队协作。

四 在服务器上搭建私有 Git 裸仓库可选

  • 创建专用用户与仓库目录:
    • sudo adduser git
    • sudo mkdir -p /var/git && sudo chown -R git:git /var/git
  • 初始化裸仓库:
    • sudo -u git git init --bare /var/git/your-project.git
  • 客户端克隆与推送(使用 SSH):
    • git clone git@<服务器IP>:/var/git/your-project.git
  • 权限与安全:
    • 仅允许 git 用户访问其主目录与仓库目录(如 chmod 700/755 等),并将开发者公钥加入 /home/git/.ssh/authorized_keys,实现免密推送。该方式适合在 CentOS 上托管团队私有仓库,与 ThinkPHP 项目代码分离管理。

五 与部署流程的配合建议

  • 生产环境拉取与更新:
    • 在站点目录(如 /var/www/your-tp)执行:git pull origin main,随后执行 composer install --optimize-autoloader --no-dev,确保依赖一致与自动加载优化。
  • 环境与安全:
    • 生产环境使用 .env.production 等环境专用配置,切勿将包含数据库密码等敏感信息的 .env 提交到远程仓库;通过部署脚本或 CI 在拉取后自动生成/替换环境配置。
  • 版本回退与标签:
    • 发布前打标签:git tag -a v1.0.0 -m “Release v1.0.0”;需要回退时 git checkout 或 git reset --hard (谨慎操作并做好备份)。
  • 与 API 版本区分:
    • Git 管理的是“代码版本”;若你的需求是“API 接口版本”,可在 ThinkPHP 6 中通过中间件与路由前缀(如 /v1/user、/v2/user)实现,二者职责不同、可并行使用。

0