Ubuntu环境下ThinkPHP项目版本控制实践指南
在Ubuntu系统中,ThinkPHP项目的版本控制主要依赖Git(行业主流工具),结合框架自身特性(如目录结构、依赖管理),以下是具体操作流程及关键注意事项:
安装Git:
在Ubuntu终端执行以下命令安装Git(若未安装):
sudo apt update && sudo apt install git
安装完成后,配置全局用户名和邮箱(用于提交记录标识):
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"
安装Composer:
ThinkPHP依赖Composer管理PHP依赖(如框架核心、第三方库),安装Composer:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
验证安装:composer -V(显示版本号即成功)。
/var/www/html/my_tp_project,执行:cd /var/www/html/my_tp_project
.git隐藏目录(存储版本控制信息):git init
ThinkPHP项目需排除无需版本控制的目录/文件(如临时文件、依赖目录、环境配置),在项目根目录创建.gitignore文件,添加以下内容:
# 运行时临时文件
/runtime/
# 依赖目录(由Composer管理)
/vendor/
# 公共上传目录
/public/uploads/
# 环境配置文件(包含敏感信息)
.env
# IDE配置目录
.idea/
.vscode/
# 日志文件
*.log
# Node.js相关(若有前端构建)
node_modules/
npm-debug.log
yarn-error.log
注:
.env文件包含数据库密码等敏感信息,需通过.env.example模板提供给团队成员复制使用,避免直接提交。
git add .,后续可选择特定文件):git add .
git commit -m "Initial ThinkPHP project setup"
若需将代码托管到GitHub、GitLab等平台,需关联远程仓库:
https://github.com/yourname/my_tp_project.git),执行:git remote add origin https://github.com/yourname/my_tp_project.git
master分支推送到远程仓库(若远程分支为main,需替换为main):git push -u origin master
master(稳定版本)、develop(开发主干)、feature/*(特性分支)、release/*(预发布分支)、hotfix/*(紧急修复分支)。main分支创建feature/*分支,通过Pull Request合并。feature/login分支):git checkout -b feature/login
git pull origin main
git push origin feature/login
git status查看冲突文件,手动编辑解决冲突(删除冲突标记<<<<<<<、=======、>>>>>>>),然后执行:git add 冲突文件
git commit -m "Resolve merge conflict"
composer.json(依赖列表)和composer.lock(精确版本)需提交到仓库,确保团队成员依赖一致:git add composer.json composer.lock
git commit -m "Add Composer dependencies"
vendor目录):composer install
.env.example为.env,修改数据库连接、APP密钥等配置(勿提交.env):cp .env.example .env
vim .env # 编辑环境配置
| 操作 | 命令示例 |
|---|---|
| 查看仓库状态 | git status |
| 查看提交历史 | git log --oneline |
| 创建分支 | git branch feature/new-module |
| 切换分支 | git checkout feature/new-module |
| 合并分支 | git checkout main && git merge feature/new-module |
| 撤销本地未推送提交 | git reset --hard HEAD~1(谨慎使用,删除本地提交) |
| 恢复单个文件 | git checkout HEAD -- public/index.php |
通过以上步骤,可在Ubuntu环境下实现对ThinkPHP项目的有效版本控制,确保代码安全、可追溯,并支持团队协作开发。