ThinkPHP项目在Linux环境下的版本控制流程(基于Git)
ThinkPHP作为PHP框架,其版本控制需依赖外部工具(如Git),以下是针对Linux环境的详细操作步骤及关键注意事项:
在Linux系统(如Ubuntu/CentOS)上,首先安装Git(版本控制核心工具)和Composer(ThinkPHP依赖管理工具):
# Ubuntu/Debian安装Git
sudo apt update && sudo apt install -y git
# CentOS安装Git
sudo yum install -y git
# 安装Composer(全局可用)
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
# 配置国内镜像(加速依赖下载)
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
进入ThinkPHP项目根目录(包含app、public、runtime等核心文件夹),执行初始化命令:
cd /path/to/your/thinkphp_project
git init
此时会生成一个.git隐藏目录,用于存储版本控制元数据。
创建或编辑项目根目录下的.gitignore文件,排除无需版本控制的目录和文件(避免提交冗余数据或敏感信息):
# 运行时生成的临时文件
/runtime/*
# Composer依赖目录(仅提交composer.json和composer.lock)
/vendor/*
# 用户上传的文件
/public/uploads/*
# 环境配置文件(包含敏感信息,如数据库密码)
.env
# IDE/编辑器生成的配置文件
.idea/
.vscode/
# 日志文件
*.log
注意:需提交composer.json和composer.lock(用于统一团队依赖版本),但不提交vendor目录。
将项目文件添加到Git暂存区,并提交初始版本:
# 添加所有未被.gitignore忽略的文件
git add .
# 提交并添加描述性信息
git commit -m "Initial ThinkPHP project setup"
若需将代码备份到远程(如GitHub、GitLab、Gitee)或实现团队协作,需关联远程仓库:
# 替换为你的远程仓库URL(如GitHub)
git remote add origin https://github.com/yourname/your_thinkphp_project.git
# 推送代码到远程主分支(如main/master)
git push -u origin main
采用合适的分支模型提升协作效率:
main(稳定生产分支)、develop(集成开发分支)、feature(功能开发分支)、release(预发布分支)、hotfix(紧急修复分支)。main分支(始终保持可部署状态),所有开发从main拉出feature分支,通过Pull Request(PR)合并回main。示例:创建并切换到功能分支
git checkout -b feature/user-login
git commit -m "Fix user login validation error")。git checkout main
git pull origin main
当多人协作或本地与远程代码冲突时,Git会标记冲突文件(包含<<<<<<<、=======、>>>>>>>标记)。解决步骤如下:
# 查看冲突文件
git status
# 手动编辑冲突文件(删除标记,保留正确代码)
# 标记冲突已解决
git add conflict_file.php
# 完成合并
git commit
通过标签标记重要版本(如正式发布版),便于回溯和部署:
# 创建附注标签(-a表示附注,-m添加描述)
git tag -a v1.0.0 -m "ThinkPHP project release version 1.0.0"
# 推送标签到远程仓库
git push origin v1.0.0
composer install安装依赖(根据composer.lock确保版本一致)。.env.example作为模板,团队成员复制为.env并填写本地环境信息(如数据库连接),避免直接提交.env文件。通过以上流程,可实现ThinkPHP项目在Linux环境下的规范化版本控制,保障代码安全、团队协作顺畅及版本可追溯性。