您的位置:首页 >个人PHP项目如何进行版本控制
发布于2026-03-12 阅读(0)
扫一扫,手机访问
git init 是个人 PHP 项目唯一必要起点,应先写代码再初始化仓库、手动配置 .gitignore(含 vendor/、config.local.php 等),避免误提交敏感文件或生成目录,首次推送前需设 origin 并用 -u 绑定分支。

个人 PHP 项目不需要复杂流程,git init 初始化本地仓库是唯一直接有效的起点。SVN 和 Mercurial 对单人小项目纯属增加负担——没服务器、没团队协作需求,就别给自己加配置成本。
常见错误是先建远程仓库再克隆,结果本地 PHP 文件结构被 Git 默认忽略规则搞乱(比如 .gitignore 没配好,漏掉 vendor/ 或误删 config.php)。正确顺序是:先写代码 → 再 git init → 然后手动写 .gitignore。
.gitignore 至少要包含:vendor/、node_modules/、composer.lock(如果不用锁文件部署)、*.log、config.local.phpcache/、logs/),这些目录必须进 .gitignore,否则每次 git status 都飘红PHP 项目容易把不该进版本库的东西提交上去,比如本地调试用的 test_db_connect.php、硬编码数据库密码的 config.php、或 IDE 自动生成的 .idea/ 目录。Git 不会帮你判断“这文件该不该存”,全靠你人工过滤。
执行 git add . 是最危险操作——它默认递归添加所有未忽略的变更文件。你应该用 git status -s 先看一眼,再逐个 git add 明确文件。
config.example.php 提交,本地复制为 config.php 并加入 .gitignorecomposer install 生成的 vendor/ 绝对不提交——只提交 composer.json 和 composer.lock(后者用于锁定依赖版本)public/build/ 这类产出目录也要忽略,只提交源码(resources/)很多人卡在 git push 报错 fatal: The current branch main has no upstream branch,本质是没告诉本地分支该推到哪。GitHub 新建空仓库后给的提示命令(git remote add origin xxx)不能跳过。
注意:GitHub 默认主分支名现在是 main,但你本地可能是 master。别强行改名,用 git branch -M main 重命名本地分支更省事,避免后续推送时反复指定 -u origin/main。
git remote -v 确认是否成功,输出应含 origin https://github.com/xxx/xxx.git (fetch)git push -u origin main,“-u” 是关键,它把本地 main 绑定到远程 origin/main,之后直接 git push 就行git filter-repo 彻底从历史中清除,否则远程仓库依然可查个人项目虽无多人冲突,但你可能在多台设备(公司电脑 / 家里笔记本)上开发。直接 git pull 会自动 merge,一旦本地有未提交修改,就触发合并冲突——而你只是想同步远程最新版。
更稳妥的做法是分两步:git fetch origin 先拉取远程变更但不应用,再用 git merge origin/main 或 git rebase origin/main 手动决定如何整合。尤其当你本地有未 push 的 commit,rebase 能保持线性历史。
git reset --hard origin/main,比 pull 更干净git log --oneline --graph --all 快速看分支关系,避免误操作导致 HEAD 漂移.gitattributes 加 * text=auto 统一处理实际最难的不是命令,而是每次 commit 前花 10 秒想清楚:这个改动会不会让别人(或者三个月后的你自己)看不懂?有没有把临时调试代码一起提交?.gitignore 是否还准确?这些细节比学会 rebase 更影响长期维护。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9