如何做网站维护shafow网站是谁做的

张小明 2026/1/19 22:00:52
如何做网站维护,shafow网站是谁做的,企业运营过程中具有控制职能的环节是,沈阳做购物网站电话文章目录一、Git的核心#xff1a;三种对象及其引用二、三种对象如何协作#xff1f;场景 1#xff1a;首次提交场景 2#xff1a;新增文件并提交场景 3#xff1a;删除文件再提交三、那怎么真正“删掉”大文件#xff1f;四、分支#xff08;Branch#xff09;到底是什…文章目录一、Git的核心三种对象及其引用二、三种对象如何协作场景 1首次提交场景 2新增文件并提交场景 3删除文件再提交三、那怎么真正“删掉”大文件四、分支Branch到底是什么五、空间优化的秘密与潜在问题六、结语举个例子有一次我不小心将一个依赖文件夹提交了进去导致仓库大小暴增到几百MB。我赶紧删除模型并重新提交但仓库大小并未缩小。这让我意识到我其实并不真正理解Git是如何工作的。如果你也有过类似的困惑那么这篇文章将用5 分钟带你穿透git commit的表层操作直击 Git 的核心机制——三种对象与引用系统。看完之后你会真正理解为什么删掉文件后仓库体积没变分支到底是什么Git 为何如此高效又可靠写给在日常开发中只记住了Git的常用命令却对底层机制一知半解像我一样的开发者。一、Git的核心三种对象及其引用Git的核心在于三种不可变对象commit、tree和blob。这些对象存储在.git/objects目录中通过哈希值也就是唯一标识相互引用形成一个高效的版本控制系统。Commit 对象每次提交代码时创建记录了变更的快照。它包含提交消息、作者、提交者、父提交parent并指向一个 tree 对象。Tree 对象代表提交时的目录结构包括文件和子目录。它指向 blob 对象或其他 tree 对象。Blob 对象存储文件的实际内容是最底层的对象。一旦创建blob 永不修改或删除。这种引用机制避免了重复存储不变的文件只需引用相同的 blob新变更才创建新 blob从而节省空间。二、三种对象如何协作场景 1首次提交假设你新建一个项目创建一个文件text1.txt内容为Hello Git!然后执行gitaddtext1.txtgitcommit-mcommit one此时Git 会做三件事生成一个 Blob 对象内容Hello Git!哈希值737c...存储路径.git/objects/73/7c...生成一个 Tree 对象表示当前目录结构内容blob 737c... text1.txt哈希值caae...生成一个 Commit 对象指向上述 Tree包含作者、提交者、时间、提交信息哈希值eddf...你可以用以下命令查看这些对象的内容gitcat-file-peddf# 查看 commitgitcat-file-pcaae# 查看 treegitcat-file-p737c# 查看 blob简单理解Blob 存文件内容Tree 存目录结构Commit 存“这次快照是谁在什么时候做的”。场景 2新增文件并提交现在你新增text2.txt内容为New file并提交gitaddtext2.txtgitcommit-mcommit two这时新增一个 Blob169d...存text2.txt新建一个 Tree包含两个条目blob 737c... → text1.txt复用旧 Blob对象blob 169d... → text2.txt新建的 Bolb对象新建一个 Commit指向新 Tree并记录 parent 为eddf...你会发现text1.txt的内容没有变所以 Git 直接复用了原来的 Blob 对象没有重复存储这就是 Git节省空间、高效存储的核心秘密。场景 3删除文件再提交接着你删除text2.txt并提交第三次gitrmtext2.txtgitcommit-mcommit three新的 Commit 会指向一个只包含text1.txt的 Tree但169d...这个 Blob 依然存在于.git/objects/中重要结论一旦 Blob 被创建它就永远不会被自动删除——即使你删掉了对应的文件并提交。因为 Git 的设计哲学是历史不可篡改所有对象永久保留直到被显式清理。这正是开头那个“文件删不掉”的根本原因那个几百 MB 的文件已经被转成 Blob 存入 Git 历史后续提交无法让它消失。三、那怎么真正“删掉”大文件解决方案分两步重写历史移除包含大文件的那次提交比如git filter-repo或BFG Repo-Cleaner清理悬空对象gitreflog expire--expirenow--allgitgc--prunenow--aggressive但需注意重写提交历史所带来的影响比如说团队协作的场景。四、分支Branch到底是什么你可能会问我们天天用的main、dev分支去哪儿了它们也是对象吗不是分支只是一个“指向 Commit 的指针”。在.git/refs/heads/目录下每个分支都是一个文本文件。例如cat.git/refs/heads/main# 输出98ea1234... 即最新 commit 的哈希当你执行git checkout mainGit 只是把HEAD指向这个 Commit。你可以随时让分支指向任意 Commit甚至删除分支其实只是删掉这个指针但 Commit 和它的对象依然存在。五、空间优化的秘密与潜在问题引用机制的核心优势是高效存储。每个 commit 只记录变更不复制整个仓库。例如不变的文件共享 blob新增或修改才生成新 blob。这在大型项目中显著节省空间。然而这也带来问题如开头所述误提交大文件会创建大量 blob即使后续删除blob 也不会自动消失导致仓库膨胀。可以试试使用git reset或git rebase删除包含大文件的 commit使相关 blob 成为“悬空对象”。运行git gc或git prune清理悬空对象真正缩小仓库。预防措施使用.gitignore忽略大文件避免初次提交。六、结语Git 依赖 commit、tree 和 blob 的引用链来管理版本历史。这种设计确保了不可变性和效率但也要求开发者理解其不可逆性。掌握这些基础下次遇到仓库问题时你能轻松诊断和修复。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做推广便宜的网站有哪些优化网站目录结构

少数民族语言支持计划:未来CosyVoice是否会加入藏语蒙古语? 在智能语音助手逐渐走进千家万户的今天,我们是否注意到——当城市用户轻松用普通话与AI对话时,许多使用藏语、蒙古语的边疆居民却仍被隔绝在这场技术浪潮之外&#xff1…

张小明 2026/1/17 22:41:12 网站建设

学做预算有网站吗无锡外贸网站建设

前言部分 在上一篇《机器学习进阶<8>PCA主成分分析》中,我们已经详细拆解了PCA算法的核心思想、数学原理以及如何在鸢尾花数据集上实现降维可视化。如果你对PCA的基本概念还不太熟悉,建议先阅读这篇文章,它为你理解今…

张小明 2026/1/17 22:41:14 网站建设

湖南网站制作团队8848网站盈利模式

策略路由实验配置 实验要求 要求PC1走AR1-AR2-AR4到达PC3 要求PC2走AR1-AR3-AR4到达PC3策略路由的配置思路: 1、匹配业务流量ACL 3000 2.业务流量进行分类classifier—if-match 3.业务流量流行为behavior—redirect 4.业务流量策略 traffic policy----关联流分类和流…

张小明 2026/1/17 22:41:15 网站建设

苏州建站免费模板软件培训手册

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个金融交易异常检测系统,使用图神经网络分析交易网络。要求:1. 构建交易关系图(节点账户,边交易);2. …

张小明 2026/1/17 22:41:16 网站建设

如何设计好网站新增网站和新增接入

网上超市 目录 基于springboot vue网上超市系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue网上超市系统 一、前言 博主介绍:✌️大…

张小明 2026/1/17 22:41:17 网站建设

人才市场网站源码金色金融公司网站源码

深入LDO环路稳定性:从原理到实战的设计避坑指南你有没有遇到过这样的情况?系统其他部分都调通了,结果一上电就“抽风”——电压跳动、信号失真,甚至单片机反复重启。排查一圈后发现,问题竟出在最不起眼的电源稳压芯片上…

张小明 2026/1/17 22:41:16 网站建设