温馨提示×

ubuntu上thinkphp项目如何进行版本控制

小樊
38
2025-11-26 22:54:34
栏目: 编程语言

Ubuntu 上 ThinkPHP 项目的版本控制实操指南

一 环境准备与初始化

  • Ubuntu 上安装并配置 Git,为提交记录绑定身份:
    • 安装:sudo apt update && sudo apt install git -y
    • 验证:git --version
    • 配置:git config --global user.name "Your Name"git config --global user.email "your.email@example.com"
  • 进入你的 ThinkPHP 项目根目录(与 appconfigpublic 同级),初始化仓库:
    • git init
    • git add .
    • git commit -m "Initial commit"

二 配置 ThinkPHP 的 .gitignore

  • 典型应忽略的内容:运行时缓存与日志、第三方依赖、用户上传、本地环境配置、IDE 配置等。示例:
/runtime/
/vendor/
/public/uploads/
.env
.env.example
.idea/
.vscode/
*.log
composer.phar
.DS_Store
Thumbs.db
  • 说明:
    • 提交 composer.jsoncomposer.lock,不提交 /vendor/,保证依赖一致与仓库体积可控。
    • 若项目使用 ThinkPHP 6.env 含数据库与密钥等敏感信息,务必不纳入版本控制,提供 .env.example 作为模板。

三 关联远程仓库与推送

  • GitHub/GitLab/Gitee 创建远程仓库,获取仓库 URL
  • 关联并推送:
    • git remote add origin <远程仓库URL>
    • 分支名可能是 mainmastergit branch -M main(如需)
    • git push -u origin main
  • 后续同步:
    • 拉取:git pull --rebase origin main
    • 推送:git push origin main

四 协作流程与常用操作

  • 分支策略建议:采用 GitHub FlowGit Flow 的变体,基于 main 创建特性分支开发,通过 Pull Request/Merge Request 进行代码审查后合并。
  • 日常提交规范:
    • 小步提交、语义化信息(如:feat: 用户登录、fix: 订单状态校验)
    • 推送前先 git pull --rebase 减少冲突
  • 标签与版本发布:
    • 打标签:git tag -a v1.0.0 -m "Release v1.0.0"
    • 推送标签:git push origin v1.0.0
  • 若之前误提交了应忽略的目录(如 /vendor)到远程,清理方式:
    • 从版本控制移除但保留本地:git rm -r --cached vendor
    • 提交并推送变更:git commit -m "chore: remove vendor from VCS"git push
    • 注意:不要直接删除本地 /vendor,以免影响依赖。

五 常见问题与排查

  • 分支名不一致导致推送失败:确认本地分支是 mainmaster,必要时执行 git branch -M main 再推送。
  • 远程已存在历史提交:先 git pull --rebase 或按需合并后再推送。
  • 权限或协议问题:优先使用 SSH 方式(配置 SSH Key),避免每次输入账号密码。

0