惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

任霏博客

我将关闭服务器:AI彻底掐死了奄奄一息的个人博客 - 博客文章 - 任霏的个人博客网站 Vibe Coding 实现本地模型 Token 自由 IntelliJ IDEA + LM Studio + LM Link + Continue 1Password涨价后,别急着退订1Password,这个操作能帮你省25% - 博客文章 - 任霏的个人博客网站 我,吃饱了撑的注册了个域名,Cloudflare账号没了,不建议将域名放在Cloudflare - 博客文章 - 任霏的个人博客网站 临时邮箱:保护隐私与免骚扰的新方式 - 博客文章 - 任霏的个人博客网站 价值4100万美元SOL被盗SwissBorg在Solana上遭遇安全事件超200万枚ETH排队退出质押 - 博客文章 - 任霏的个人博客网站 注意 Web3 钱包遭遇 NPM 超大规模供应链攻击投毒事件 - 博客文章 - 任霏的个人博客网站 我受到以太坊ERC-20假代币地址投毒攻击记录一下大家谨防上当受骗 - 博客文章 - 任霏的个人博客网站 在2025年使用显卡 NVIDIA RTX 2080 Ti 挖矿收益记录和分析还能不能挖矿 - 博客文章 - 任霏的个人博客网站 分享我是如何成功戒烟的经验(包含失败的经验) - 博客文章 - 任霏的个人博客网站 在 OpenWRT 中配置 PassWall2 插件的教程记录 - 博客文章 - 任霏的个人博客网站 Office Professional Plus 2019 VL 版下载与 KMS 激活 - 博客文章 - 任霏的个人博客网站 最近几天我的 CDN 流量受到来自电信[山东烟台]、[江苏扬州]两地家庭宽带的攻击 - 博客文章 - 任霏的个人博客网站 自建AI服务器使用PVE配置显卡直通虚拟机安装驱动、CUDA和cuDNN运行LLM大模型进行AI炼丹 - 博客文章 - 任霏的个人博客网站 各代英特尔Intel芯片组主板适配兼容的CPU和DDR内存数据统计 - 博客文章 - 任霏的个人博客网站 GitLab Global 国际站将在60天内删除中国大陆、香港、澳门地区的账号 - 博客文章 - 任霏的个人博客网站 Github Copilot Free 开放免费版所有人均可使用 OpenAI GPT-4o、Anthropic Claude 3.5 AI 代码生成服务 - 博客文章 - 任霏的个人博客网站 Cloudflare 更新了订阅协议明确禁止优选IP和搭建梯子的行为 - 博客文章 - 任霏的个人博客网站 Linux(systemd)手动离线安装二进制(binary)MairaDB数据库指定版本 - 博客文章 - 任霏的个人博客网站 流程引擎 Flowable/Activiti 无法启动报错:liquibase - Waiting for changelog lock.... - 博客文章 - 任霏的个人博客网站 Spring Boot 全局异常捕获 ControllerAdvice 无法捕获 过滤器(Filter)和拦截器(Interceptor)中的异常 - 博客文章 - 任霏的个人博客网站 Freenom 收回了全部免费域名(.tk/.cf/.gq/.ga/.ml) - 博客文章 - 任霏的个人博客网站 Alibaba Druid 数据库连接池 takeLast() AQS 死锁导致程序无响应 - 博客文章 - 任霏的个人博客网站 你的网站加入 HSTS preload 预加载列表了吗 - 博客文章 - 任霏的个人博客网站 我的博客网站接入使用 Cloudflare 的架构分享 在 Ubuntu 上的 Nginx 高并发配置实践 - 博客文章 - 任霏的个人博客网站 技术分析黑客敲诈勒索站长的新手法百度对此也无能为力 - 博客文章 - 任霏的个人博客网站 百度站长平台快速收录权限和sitemap提交权限被全部收回 - 博客文章 - 任霏的个人博客网站 极狐 GitLab 免费时代结束不升级付费账号将禁止登陆 - 博客文章 - 任霏的个人博客网站 免费.ml域名10年委托合同到期被马里共和国收回域名经营权 - 博客文章 - 任霏的个人博客网站 从极狐Gitlab看各种中间件技术选型 - 博客文章 - 任霏的个人博客网站 时隔十年首次收到 Google AdSense 的付款 - 博客文章 - 任霏的个人博客网站 ga域名被加蓬共和国从Freenom公司手中收回域名经营权 - 博客文章 - 任霏的个人博客网站 Freenom 被 Meta(Facebook) 起诉导致暂停 .tk/.ga/.ml/.cf/.gq 等新域名注册 - 博客文章 - 任霏的个人博客网站 生花妙笔信手来 – 基于 Amazon SageMaker 使用 Grounded-SAM 加速电商广告素材生成 [1] - 博客文章 - 任霏的个人博客网站 github.renfei.net 不再完整代理 Github 页面改为代理指定文件 - 博客文章 - 任霏的个人博客网站 优雅的源代码管理(三):本地优雅的使用 Git Rebase 变基 - 博客文章 - 任霏的个人博客网站 优雅的源代码管理(一):版本控制系统 VCS(Version Control System)与软件配置管理 SCM(Software Configuration Management) ChatGPT 开发商 OpenAI 买下极品域名 AI.com 火爆的 AI 人工智能 ChatGPT 国内注册教程、使用方式和收费标准
优雅的源代码管理(二):Git 的工作原理 - 博客文章 - 任霏的个人博客网站
任霏 · 2023-03-08 · via 任霏博客

本文为日常工作使用,仅做简单的解析,不做深入探究。为什么需要知道 Git 的原理在后续使用 Git 时,如果你明白 Git 是如何工作的,很多问题你将更容易理解,比如变基、分叉等问题,所以我推荐所有使用 Git 的开发人员了解 Git 的工作原理,只需要理解即可,无需掌握,所以推荐阁下进行浅浅的阅读了解即可,我也不会深入探究原理。这里我只写我的理解,如果你希望阅读官方的文档,可以参见:https://git-scm.com/book/zh/v2Git 是如何工作的Git 是如何工作的Git 大致由这些常用的部分组成:

  • Workspace:工作区,这个区域就是我们的当前你正在修改的代码
  • Index或叫Stash:暂存区,有点像个小口袋,我们可以把当前修改存进去或取出来
  • Repository:本地仓库,整个项目的历史提交信息都在这里
  • Remote:远程仓库,大家都往这里 push 推送版本信息,pull 拉取最新的代码

Git 如何管理提交git内部一切皆对象,commit 对象是 git 仓库的一个快照,包含了整个项目在某一次提交时所有的文件。commit 指向一个 tree 对象,这个 tree 是目录的根路径,然后递归指向下面的 tree 和 blob 对象,blob 则是单个文件的二进制存储。git commit 对象每次 commit 都保存全部文件?其实不是的,对同一个文件(blob对象)的存储永远只有一份,不同commit中是用对象引用的形式来指向同一文件。commit 对象中还有一个字段是 parent,父节点,多个 commit 对象就形成了一个链表,一条链起一个名字就是一个分支。然后再用一个指针指向不同的 commit 对象,就可以回到任意一个提交版本,HEAD 指向的就是最新的节点。Git 分叉(branch diverged)正是由于 commit 是一条链,使用指针指向各个节点来表示代码版本,作为技术经理的我,各种场面都见了,连比较罕见的分叉我也见过了,当时场面是这样的:

  • 开发者A:哎?我的代码怎么没了?提交记录都没了?
  • 开发者B:哎?我删除的代码怎么又回来了?
  • 开发者C:我表示正常,我的代码都在,肯定是你们的问题!
  • 我:MD 开发分支分叉了!你们咋 push 的?推不上去就别强推啊!以后都用自己的分支吧,开发分支开启保护了禁止 push!

分叉大概是这样例如两个开发者B和C,分别在同一个分支上,在自己的电脑上进行 commit 提交,然后场面是这样:git分叉开发者 C 先 push 了,这个分支的最新节点指向开发者 C 的 commit:git分叉然后开发者 B 也 push,但肯定会失败,使用的可视化软件可能会提示一些扯淡的解决方案,勾选 force 强制推送,然后成了这样:git分叉这样开发者 C 的提交就莫名消失了,因为分叉了。