Ubuntu下ThinkPHP项目的版本控制实操指南
一 环境准备与初始化
- 安装 Git:在 Ubuntu 上执行以下命令安装并验证版本
sudo apt update && sudo apt install -y git
git --version
- 配置 Git 身份(全局生效):
git config --global user.name “Your Name”
git config --global user.email “you@example.com”
- 进入 ThinkPHP 项目根目录(包含 thinkphp/、app/、config/ 等),初始化仓库:
git init
- 关联远程仓库(GitHub/GitLab/Gitee 等),默认分支可能是 main 或 master:
git remote add origin <你的仓库URL>
git branch -M main
git push -u origin main
以上步骤完成后,本地代码已纳入 Git 管理并与远程仓库建立追踪关系。
二 规范 ThinkPHP 的.gitignore
三 依赖管理与首次提交
- 确保提交依赖描述文件:
git add composer.json composer.lock
git commit -m “chore: 添加依赖描述文件”
- 其他业务代码按需加入暂存区并提交:
git add .
git commit -m “feat: 初始化项目结构与路由”
- 团队成员拉取代码后安装依赖:
composer install --optimize-autoloader --no-dev
说明:只提交 composer.json/composer.lock 而不提交 /vendor/,既减小仓库体积,又保证各环境依赖一致性。
四 分支策略与协作流程
- 分支策略建议:
- 轻量迭代:采用 GitHub Flow,从 main 创建 feature/ 分支,完成后以 Pull Request 合并,保持 main 可随时发布。
- 规范发布:采用 Git Flow,区分 develop、feature/、release/、hotfix/ 分支,适合多环境、多版本并行。
- 常用协作命令范式:
git checkout -b feature/user-login
开发完成后
git push -u origin feature/user-login
在 GitHub/GitLab 创建 PR,Code Review 通过后合并到 main
git checkout main && git pull
- 冲突处理:
git status 查看冲突文件 → 手动编辑解决 → git add <文件> → git commit 完成合并。
以上流程有助于在团队中保持清晰的版本线与可回退性。
五 常用回退与撤销操作
- 安全撤销已推送的提交(生成新提交,保留历史):
git revert
- 仅本地回退(危险,切勿用于已推送的公共分支):
git reset --hard
- 恢复单个文件到某次提交:
git checkout – path/to/file
- 查看提交历史与差异:
git log --oneline -10
git diff ^
以上命令覆盖日常回退、恢复与排查所需的关键场景。