乐于分享
好东西不私藏

不会写代码,也能用 AI 做软件:普通人必须补上的 Git 基础课

不会写代码,也能用 AI 做软件:普通人必须补上的 Git 基础课

最近两年,越来越多不会编程的人,开始用 Claude、Cursor、Codex 等 AI 工具开发网站、小程序和内部管理系统。

这种开发方式通常被称为 Vibe Coding。

你不一定看得懂每一行代码,也不一定会亲自写程序。你只需要说清楚自己想做什么,AI 就可以帮你创建页面、修改功能、连接数据库,甚至直接完成一个可以运行的软件。

但很多人很快就会遇到一个问题:

AI 突然问你:

“要不要 Commit?”

“要不要新建一个 Branch?”

“是否需要 Push 到 GitHub?”

“要不要提交一个 PR?”

对于没有技术背景的人来说,这些词听起来就像外星语言。

其实,它们背后解决的是一个非常朴素的问题:

怎样让 AI 放心修改代码,同时保证项目不会被改坏、不会丢失,也不会因为多人同时操作而变得一团糟。

理解这些概念,并不是为了把自己培养成程序员,而是为了让你能够更安全、更高效地指挥 AI 开发软件。



一、Vibe Coding 最大的风险,不是不会写代码

很多人第一次用 AI 写程序时,会有一种非常兴奋的感觉。

你告诉 AI:

“帮我做一个企业用工风险体检页面。”

几分钟之后,AI 就生成了一个网页。

你又说:

“再增加一个企业信息填写模块。”

“再增加风险评分。”

“再增加报告打印。”

页面越来越完整,你会觉得开发软件好像真的变简单了。

但问题也会随之出现。

AI 在增加新功能时,可能不小心改坏原来的页面;修改登录功能时,可能影响了用户注册;优化数据库时,可能让原来能运行的程序突然报错。

真正让人焦虑的不是 AI 改错了,而是你不知道:

它刚才改了哪些文件?

原来正常的版本在哪里?

能不能退回去?

现在这个版本到底是不是最新版本?

如果让两个 AI 同时开发,会不会互相覆盖?

Git 和 GitHub,就是专门解决这些问题的。



二、Git 和 GitHub 到底有什么区别?

很多非技术人员会把 Git 和 GitHub 混在一起。

实际上,它们不是同一个东西。

你可以把 Git 理解成一套安装在电脑里的“版本存档系统”。

它会记录项目每一次重要修改。

例如:

第一版完成了首页;

第二版增加了登录功能;

第三版优化了界面;

第四版修复了一个错误。

每完成一个稳定阶段,你都可以保存一次。

如果后面改坏了,就可以回到之前正常的版本。

而 GitHub 更像是“程序代码专用的云盘”。

它可以把你电脑里的项目上传到云端,用来备份、分享和多人协作。

一句话理解:

Git 负责管理版本,GitHub 负责管理云端仓库。



这就像我们写一份重要方案。

Git 相当于帮你保留“初稿”“修改稿”“审核稿”“最终稿”等不同版本。

GitHub 则相当于把这些文件统一放到一个可以多人访问的云端空间里。

两者结合起来,才构成一套完整的代码管理机制。



三、Commit 不是上传,而是“本地存档”

在使用 AI 开发时,最常见的词之一就是 Commit。

很多人以为 Commit 是“把代码上传到 GitHub”,其实不是。

Commit 更接近于游戏里的“存档”。

比如你已经完成了登录页面,测试后发现一切正常。

这时你可以告诉 AI:

“现在这个版本已经可以正常运行,请帮我 Commit,并写清楚这次完成了什么。”

AI 就会为当前项目建立一个版本记录。

以后即使新功能改坏了,你仍然可以回到这个节点。

Commit 最大的价值,是为项目建立一个个安全检查点。

你可以把一个软件项目想象成一次长途旅行。

每完成一段路,就拍一张照片,记录自己当时的位置。

一旦走错路,就可以回到之前的地点,而不需要从头再来。

但要注意:

Commit 只发生在你自己的电脑里。

它并没有自动上传到云端。

真正把本地版本上传到 GitHub 的动作,叫做 Push。

所以标准顺序通常是:

先 Commit,确认本地已经存档;

再 Push,把存档上传到云端。



你可以直接这样指挥 AI:

“请先检查当前程序是否能够正常运行,确认没有明显问题后进行 Commit,并把这次修改的内容写进提交说明。然后再 Push 到 GitHub。”



四、为什么上传代码前,一定要检查 .gitignore?

使用 AI 写程序时,还有一个非常容易被忽略的安全问题。

很多项目里会保存一些机密信息,例如:

数据库密码;

服务器账号;

短信平台密钥;

支付接口密钥;

大模型 API Key;

第三方系统访问凭证。

这些信息经常保存在 .env 等配置文件里。

如果这些文件被一起上传到公开的 GitHub 仓库,后果可能非常严重。

这就像你把房屋设计图上传到网上时,顺便把家门钥匙也贴了出去。

别人不仅可以看到你的项目,还可能直接使用你的账号、接口和付费额度。

为了避免这种情况,Git 项目通常会有一个名为 .gitignore 的文件。

它的作用是告诉 Git:

哪些文件可以管理;

哪些文件不要追踪;

哪些内容绝对不能上传。



对于非技术人员,不需要自己记住所有规则。

每次准备第一次上传项目时,可以直接对 AI 说:

“请检查项目中的 .env、API Key、密码、证书、密钥和其他敏感配置,确保它们已经加入 .gitignore,不得 Commit,也不得 Push 到 GitHub。”

还要记住一点:

如果密钥已经被上传过,即使后来把文件删除,也不代表真正安全。

因为它可能仍然存在于 Git 的历史记录中。

最稳妥的方式,是立即作废旧密钥,并重新生成一套新的密钥。



五、Clone、Pull、Commit、Push,是协作的基础循环

如果你只在一台电脑上使用一个 AI 开发,流程还比较简单。

但只要涉及换电脑、多人协作,或者多个 AI Agent 同时工作,就必须理解四个基础动作。

Clone:第一次把项目复制到电脑

当项目已经在 GitHub 上,而你想在另一台电脑继续开发时,需要使用 Clone。

Clone 不是普通下载。

普通下载只是拿到一份文件,而 Clone 会同时把项目的版本记录和仓库关系一起复制下来。

所以,想正式参与项目开发,要用 Clone,而不是只下载 ZIP 压缩包。

Pull:拉取云端的最新进度

当其他人或者其他 AI 已经把新代码上传到 GitHub,你需要使用 Pull,把云端最新版本同步到自己的电脑。

很多人会误以为,GitHub 上更新以后,本地电脑也会自动变化。

实际上不会。

云端和本地是两个独立环境。

云端更新后,本地必须主动 Pull,才能拿到最新版本。

Commit:保存自己的修改

当你完成了一段功能,并且测试正常,就可以 Commit,保存一个本地版本。

Push:把自己的成果上传云端

Commit 完成后,再 Push 到 GitHub,其他人才能看到你的最新进度。



因此,日常协作可以记成一句话:

第一次加入项目用 Clone,开始工作前先 Pull,修改完成后先 Commit,再 Push。



六、为什么开发新功能前,要先开 Branch?

假设你已经有一个能够正常运行的企业管理系统。

现在,你准备让 AI 增加一个复杂的数据库功能。

最危险的做法,是直接让 AI 在正式版本上修改。

因为复杂功能通常不会一次成功。

AI 可能需要反复修改、测试、推翻和重写。

在这个过程中,正式版本可能长时间处于无法运行的状态。

Branch,也就是“分支”,就是为了解决这个问题。

你可以把正式版本理解成一条正在正常通车的主干道,通常叫做 main。

而新功能开发,则应该先修一条临时支路。

AI 可以在这条支路上大胆试验。

即使支路修坏了,也不会影响主干道继续通车。


Branch 的核心价值就是:

把不确定的实验,与已经稳定的正式版本隔离开。

因此,当 AI 准备开发一个比较大的功能时,你可以这样说:

“请从最新的 main 新建一个 Branch,专门开发这次的数据库功能。所有修改和 Commit 都放在这个 Branch 上,不要直接改 main。”

这是普通人使用 AI 开发时,最值得养成的习惯之一。



七、Worktree:让多个 AI 同时开发,又互不干扰

Branch 可以帮助我们切换不同任务。

但它仍然有一个限制:

同一个项目文件夹,在同一时间通常只能处于一个 Branch。

这就像你只有一张办公桌。

你可以在桌面上放数据库资料,也可以换成界面设计资料,但同一时刻只能摆放其中一套。

如果你同时让两个 AI 在同一个文件夹里工作,一个修改数据库,一个设计界面,它们就可能互相干扰。

Worktree 解决的,就是这个问题。

它相当于为同一个项目增加第二张、第三张实体办公桌。

每一个 Worktree 都是一个独立文件夹,可以对应不同的 Branch。

例如:

AI Agent A 在第一个文件夹开发数据库;

AI Agent B 在第二个文件夹优化页面;

AI Agent C 在第三个文件夹编写测试。

三个 AI 可以同时工作,又不会争抢同一个项目目录。



在传统开发中,一个程序员同一时间通常只做一件事,因此 Worktree 并不是每个人都会使用。

但在 AI Agent 时代,一个人同时指挥多个 AI 开发,可能会成为常态。

所以,Worktree 很可能会成为 Vibe Coding 中非常重要的工具。



八、PR 和 Merge:不是写完就上线,而是先检查再合并

当一个 Branch 上的新功能开发完成后,通常不会立刻放进正式版本。

更稳妥的做法,是先提交一份 PR。

PR 的全称是 Pull Request。

对于非技术人员,可以把它理解成一份“功能合并申请”或者“改动提案”。

一份清晰的 PR,至少应该说明三件事:

这次做了什么;

修改了哪些内容;

应该怎样测试。

你可以直接让 AI 帮你生成:

“请把当前 Branch 提交一个 PR,说明这次增加了什么功能、修改了哪些文件、可能影响哪些模块,以及应该如何测试。”

PR 提交以后,可以由其他开发人员、测试人员,或者另一个 AI Agent 进行检查。

确认没有问题之后,再执行 Merge,把这个功能正式合并到 main。



这套机制看起来多了一道流程,但它可以显著降低错误进入正式版本的概率。

对企业项目来说,尤其不能采用“AI 写完就直接上线”的方式。

更合理的流程应该是:

AI 开发;

AI 自检;

人工确认产品逻辑;

提交 PR;

代码审查;

测试通过;

最后 Merge。



九、出现 Conflict,并不代表项目崩了

多人协作或者多个 AI 并行开发时,有时会出现 Conflict,也就是代码冲突。

冲突通常发生在这样的场景:

两个人同时修改了同一个文件的同一个位置;

两个 AI 同时调整了一段核心逻辑;

一个人修改了功能,另一个人删除了同一部分代码。

这时 Git 会发现:

同一个位置出现了两个不同版本,它不知道应该保留哪一个。

于是它会暂停合并,等待你做决定。


常见的解决方式有三种:

第一种,只保留其中一边。

第二种,两边的内容都保留。

第三种,理解双方目的后,把两边重新整合成一个更合理的新版本。

现在的 AI 已经能够帮助处理很多代码冲突。

但 AI 不一定知道你的产品最终应该怎么设计。

所以,遇到冲突时,你最重要的工作不是亲自修改代码,而是给出清晰的产品决策。

例如:

“登录流程以新版本为准,但保留旧版本中的手机验证码功能。”

“分类逻辑采用 A 方案,但把 B 方案中的高级设置保留下来。”

“两个版本都不要直接使用,请重新设计一套兼容两边需求的实现。”

AI 可以解决代码冲突,但产品取舍仍然需要人来决定。



十、AI 把代码改坏了,应该怎样恢复?

这是 Vibe Coding 中最常见的紧急情况。

AI 修改了一大堆文件,结果程序突然不能运行。

这时要先判断一件事:

这些错误修改,是否已经 Commit?

如果还没有 Commit,可以使用 Restore。

Restore 相当于放弃当前未保存的修改,回到上一次正常存档。

如果已经 Commit,则通常使用 Revert。

Revert 不会删除过去的历史,而是新增一个“反向 Commit”,把错误修改抵消掉。



可以用一句话记住:

还没 Commit,用 Restore;已经 Commit,用 Revert。

不过,Restore 会直接丢弃尚未提交的修改。

所以执行之前,最好先让 AI 检查当前有哪些文件会被恢复,避免误删仍然有价值的内容。

你可以这样说:

“当前程序已经改坏,请先检查哪些修改尚未 Commit,保留可能有价值的内容,然后帮我恢复到上一个正常版本。不要直接删除不确定的文件。”



十一、普通人真正需要掌握的,不是 Git 命令

看到这里,你可能会发现,Git 里面有很多英文词。

但普通人并不需要把所有命令背下来。

真正需要掌握的是每个概念解决什么问题。

想保存当前正常状态,用 Commit。

想上传云端,用 Push。

想同步最新进度,用 Pull。

想开发新功能又不影响正式版本,用 Branch。

想让多个 AI 同时开发,用 Worktree。

想让别人检查后再合并,用 PR。

遇到多人同时修改,用 Conflict 处理。

AI 改坏了,未提交用 Restore,已提交用 Revert。

当你理解了这些概念,就可以用自然语言指挥 AI 完成绝大多数 Git 操作。

这也是 Vibe Coding 和传统编程学习最大的不同。

过去,人们需要先学会命令,才能操作工具。

现在,你可以先理解目标,再让 AI 执行具体命令。



十二、一套适合普通人的 Vibe Coding 安全流程

对于正在用 AI 开发项目的非技术人员,可以采用下面这套流程:

第一步,项目开始时初始化 Git,并创建 GitHub 私有仓库。

第二步,检查 .gitignore,确保密码、密钥和配置文件不会上传。

第三步,每完成一个可正常运行的阶段,就进行一次 Commit。

第四步,准备开发较大功能时,从 main 新建 Branch。

第五步,每次开始工作前先 Pull,避免基于旧版本继续开发。

第六步,功能完成后让 AI 自测,并生成测试说明。

第七步,提交 PR,由另一个人或另一个 AI 进行检查。

第八步,确认没有问题后 Merge 到 main。

第九步,云端合并完成后,本地 main 再次 Pull。

第十步,如果出现错误,根据是否 Commit,选择 Restore 或 Revert。

这套流程看起来比“让 AI 直接修改代码”多了一些步骤。

但它真正带来的,是可控性。



结语:未来重要的不是会不会写代码,而是能不能管理 AI 开发

Vibe Coding 降低了软件开发的门槛。

一个懂业务、懂用户、懂产品的人,即使不会亲自写代码,也可以借助 AI 把想法变成可以运行的系统。

但开发门槛降低,并不意味着项目管理可以消失。

相反,当 AI 修改代码的速度越来越快,版本管理、风险隔离、权限控制和协作流程会变得更加重要。

Git 和 GitHub 的价值,不只是帮助程序员保存代码。

它们更像是一套 AI 开发时代的安全机制。

你不需要成为 Git 专家,也不需要记住所有命令。

你只需要明白:

什么时候该存档;

什么时候该上传;

什么时候该隔离风险;

什么时候该让别人检查;

什么时候应该恢复到之前的版本。

当这些判断你能够做对,AI 才能真正成为你的开发团队,而不是一个随时可能把项目改乱的临时助手。

Vibe Coding 的核心,从来不是完全不懂技术。

而是用普通人能理解的方式,掌握指挥 AI 开发所必需的技术常识。



可直接复制的AI指令模板

下面是一组可以直接复制粘贴给 AI 使用的标准化中文提示词,帮助你完成常见 Git 操作:

Commit(本地存档)

请检查当前项目是否可以正常运行。如果没有明显错误,请将当前修改进行 Commit,并生成清晰的提交说明,说明本次修改的功能和涉及的文件。

Push(上传到 GitHub)

请将当前已经 Commit 的内容 Push 到远程 GitHub 仓库,确保远程仓库与本地版本一致。

Pull(同步最新代码)

请从远程仓库 Pull 最新代码,并合并到当前分支。如果存在冲突,请提示我如何处理。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-23 04:29:09 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/868032.html
  2. 运行时间 : 0.302680s [ 吞吐率:3.30req/s ] 内存消耗:5,009.48kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b2e6cce3be58b547fcaf7159960a17b5
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000921s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001036s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.033189s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000439s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000988s ]
  6. SELECT * FROM `set` [ RunTime:0.000271s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000789s ]
  8. SELECT * FROM `article` WHERE `id` = 868032 LIMIT 1 [ RunTime:0.000630s ]
  9. UPDATE `article` SET `lasttime` = 1784752150 WHERE `id` = 868032 [ RunTime:0.018351s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000423s ]
  11. SELECT * FROM `article` WHERE `id` < 868032 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000684s ]
  12. SELECT * FROM `article` WHERE `id` > 868032 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001623s ]
  13. SELECT * FROM `article` WHERE `id` < 868032 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001305s ]
  14. SELECT * FROM `article` WHERE `id` < 868032 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004271s ]
  15. SELECT * FROM `article` WHERE `id` < 868032 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000973s ]
0.304412s