在 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>
- 推送到远程(默认分支可能是 main 或 master,按实际替换):
- 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)实现,二者职责不同、可并行使用。