Ubuntu上ThinkPHP项目版本控制实践指南
在Ubuntu环境下,ThinkPHP项目的版本控制主要依赖Git(主流分布式版本控制系统)实现代码变更追踪、团队协作及历史回溯。以下是具体操作流程与关键注意事项:
在开始版本控制前,需确保Ubuntu系统已安装Git(版本控制工具)和Composer(ThinkPHP依赖管理工具):
# 更新软件包列表
sudo apt update
# 安装Git
sudo apt install git -y
# 安装Composer(全局安装)
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
验证安装:
git --version # 应输出Git版本信息
composer --version # 应输出Composer版本信息
进入ThinkPHP项目根目录(包含app、public、vendor等核心目录),执行以下命令初始化本地仓库:
cd /path/to/your/thinkphp_project # 切换至项目目录
git init # 初始化Git仓库,生成.git隐藏目录
为避免将临时文件、依赖目录及敏感信息纳入版本控制,需在项目根目录创建.gitignore文件,添加以下内容:
# 运行时生成的临时文件
/runtime/*
# Composer依赖目录(仅需提交composer.json和composer.lock)
/vendor/*
# 环境配置文件(.env包含敏感信息,不提交)
.env
# IDE/编辑器配置目录
.idea/
.vscode/
# 日志文件
*.log
# Node.js相关文件(若有前端构建)
node_modules/
npm-debug.log
yarn-error.log
注意:需提交
composer.json和composer.lock(记录依赖版本,确保团队环境一致),但不提交vendor/目录。
将项目文件添加至暂存区并提交:
git add . # 添加当前目录所有文件(可替换为具体文件,如git add app/ public/)
git commit -m "Initial ThinkPHP project setup" # 提交代码,描述变更内容
若需将代码备份至GitHub、GitLab等平台,或实现团队协作,需关联远程仓库:
git remote add origin https://github.com/yourname/your-repo.git # 替换为你的远程仓库URL
git push -u origin master # 推送本地master分支至远程(若远程分支为main,替换为main)
采用合理的分支策略可提升协作效率,推荐以下两种模式:
Git Flow(适合大型项目)
master(稳定生产版本)、develop(集成最新开发内容);feature/*(每个新特性对应一个分支,开发完成后合并至develop);release/*(预发布版本,用于测试);hotfix/*(紧急修复生产问题,合并至master和develop)。GitHub Flow(适合快速迭代)
main(始终可部署);feature/*(从main创建,开发完成后通过Pull Request合并至main)。develop(Git Flow)或main(GitHub Flow):git checkout -b feature/user-login # 从当前分支创建并切换至feature分支
git status # 查看冲突文件
# 手动编辑冲突文件(删除冲突标记<<<<<<<、=======、>>>>>>>)
git add . # 标记冲突已解决
git commit -m "Resolve merge conflicts" # 提交合并结果
git revert <commit-hash> # 安全撤销提交(生成新提交),适合已推送至远程的提交
git reset --hard <commit-hash> # 强制回溯到指定提交(仅限本地私有分支,慎用)
git tag -a v1.0.0 -m "Release version 1.0.0" # 创建附注标签
git push origin v1.0.0 # 推送标签至远程仓库
composer.lock文件(记录精确依赖版本),确保团队成员安装相同版本的依赖:composer install # 安装依赖(首次克隆项目时执行)
composer update # 更新依赖(需谨慎,可能引发兼容性问题)
.env文件存储环境变量(如数据库密码),需为团队成员提供.env.example模板(不含敏感信息),由其复制为.env并填写真实配置。通过以上步骤,可在Ubuntu环境下为ThinkPHP项目建立完善的版本控制体系,保障代码安全与团队协作效率。