一天彻底搞懂 Git 《Git 原理详解及实用指南》

Git 底层原理 文章目录@[toc]一.git 介绍一.git 简介二.git 历史三.集中式与分布式四.git 大致结构二..git 目录结构三.git add 与 git commit 简单原理四.创建与合并分支简单原理五.git rebase 简单原理六.开始从底层入手 git七.git add 命令底层原理八.git add 和 git commit 中间的操作(tree 对象的生成)九.git comm... 阅读详情
640?wx_fmt=other

我是扔物线,Android 开发者,开源贡献者,在 GitHub 上有 4.9k followers 和 7.8k stars ,个人的 Android 开源库 MaterialEditText 被全世界多个项目引用,其中包括在全球拥有 5 亿用户的新闻阅读软件 Flipboard 。曾两次在 Google Developer Group Beijing 线下分享会中担任 Android 部分的讲师。个人技术文章《给 Android 开发者的 RxJava 详解》发布后,在国内多个公司和团队内部被转发分享和作为团队技术会议的主要资料来源,以及逆向传播到了美国一些如 Google 、 Uber 等公司的部分华人团队。

现在我正全职在做一个我个人的免费的 Android 高级进阶分享计划 HenCoder,旨在帮助国内的高级 Android 工程师(例如小团队的 Android Leader)突破技术瓶颈,继续高速提升。

老钱点评:这不是乔杉嘛,他也会搞 IT?他头发怎么掉光了???

640?wx_fmt=png

640?wx_fmt=jpeg

小册简介

「Git 好难啊!」不会用 Git 和会用 Git 的人都这么说。

640?wx_fmt=other

随着这几年 GitHub 的流行,Git 已经是一个程序员逃不过的技术项,但很多人却纷纷倒在了学习它的路上。而且,出于工作原因而不得不用 Git 的人,有不少在工作中对 Git 也是能不用就不用,生怕哪个命令用错就把公司的代码库毁掉了?。而那些对 Git 掌握得比较好的少数人,就像团队中的神一样,在同事遇到 Git 相关的问题的时候用各种风骚操作来拯救队友于水火。

640?wx_fmt=other

学不会、学不好 Git 的人,其实多数并不是不愿意学。很多人都会尝试去网上找 Git 教程、去社区请教高手、在公司咨询同事,但转了一大圈下来,依然没有搞懂,甚至有可能越来越糊涂。

- 你刚才输入的这个 Git 指令是什么意思?

Git 学习到底难在哪?

640?wx_fmt=other

Git 的学习曲线很不友好:想上手很容易,只要学会 commit、push、pull 等几个指令,就能够初步地使用它;但如果想要更进一步,让自己能够在团队项目中和朋友或同事自由合作,却又很难。

那么 Git 到底难在哪呢?

其实关键在于一点:概念。

Git 的概念,是由一套完整的思维逻辑所构成的。 你不能从多个角度分步理解它,而是要把它作为一个整体一下子吃掉;而同时这个「整体」由于过于复杂,又实在有点难以一口吞。颇有点悖论的意味。

640?wx_fmt=other

很多人在使用 Git 一段时间后,会觉得 Git 有点复杂和混乱:

- 为什么要 commit 后再 push 这么啰嗦,而不能直接提交到中央仓库?

类似的问题其实还有很多。这些问题看起来每个都很难,但只要你把 Git 的概念了解了,这些问题(以及那些许许多多我没有列出来的问题)就全都迎刃而解了。

学懂了概念,就能学懂 Git,就这么简单。可是市面上的很多 Git 教程都只停留在了 Git 的使用上,而对它的概念却总是一笔带过或干脆提都不提。这里的原因,我猜可能是因为它的概念太难讲清楚了,也可能是因为这些作者其实也对 Git 的许多概念并不够了解吧(这句是胡说八道,Git 教程的作者们请放下手中的枪)。

你为什么应该选择这本小册?

读了这本小册,你可以彻底理解 Git,从而彻底会用 Git。Git 的确很难,但别担心,读了这本小册你就从根本上掌握它了(虽然熟练使用还会需要一些时间来练习)。

我写技术文章,比较喜欢挑难的写:难学会的,难讲清的。我写过 RxJava 的详解,写过 Android 自定义 View 的原理,目前来看反馈都很不错。这些「学的人学不会,讲的人讲不明白」的东西,写起来很痛苦,但写完之后的成就感也挺大,我会去跟老婆吹牛:「这东西好多人都讲不明白,我给讲明白了,你看这些人看了以后留言多激动」(这话只敢在家说,出去说怕被打)。而且,写着写着,我也越来越明白怎么把复杂的技术讲简单、讲透彻。

所以简单地总结:Git 难学,是因为它的概念难以整体理解。而这本小册,就是从概念的角度出发,帮你先从本质上了解 Git 的工作模型,在此基础上去了解它的具体用法,以此来达到四两拨千斤的学习效果。而且这样的学习具有更高的持久性,在看完这本小册之后,你以后也很难再忘掉 Git 的用法了。

640?wx_fmt=other

你会学到什么?

  • Git 的基本用法

  • Git 的高级用法

  • Git 的概念和本质

  • Git 中的常见问题的处理方式

  • Git 中的高级需求的解决方案

例如:「如何修改历史提交中的错误」「误删 branch 怎么办」「merge 和 rebase 的区别」「reset 的几种实用用法」这类东西又多又难记,但其实你根本不用去记它们。在你了解了 Git 的本质之后,不仅这些日经问题你能轻松解答,而且一些罕见的、复杂的问题,你也应付得来。

你应该已经具备什么?

  • 基本的编程能力

  • Linux / Unix 的 Terminal 或 Windows 的 CMD 控制台的基本使用经验

你需要准备什么?

  • 一台用于读小册和做简单练习的可以联网的电脑

你需要做什么?

  • 把这本小册认真读完

  • 在读的过程中把所有练习做完

然后,你就可以在工作中自如地使用 Git 了。而且很快,你就能成为同事眼里的那个神奇的「救火队员」(如果你愿意的话)。

读完这本小册你会发现,Git 真的不难。

640?wx_fmt=png

21张图搞懂Git的原理 Git 是程序员学习和工作都离不开发工具,也是非程序员好用的文档版本管理工具。 本文图解 Git 中的最常用命令。如果你稍微理解 Git 的工作原理,这篇文章能够让你理解的更透彻。 原文链接:https://marklodato.github.io/visual-git-guide/index-zh-cn.html 基本用法 上面的四条命令在工作目录、暂存目录(也叫做索引)和仓库之间复制文件。 git add files 把当前文件放入暂存区域。 git commit 给暂存区域生成 阅读详情

相关推荐

git原理详解及实用指南-每章独立.rar

简单地总结:Git 难学,是因为它的概念难以整体理解。而这本小册,就是从概念的角度出发,帮你先从本质上了解 Git 的工作模型,在此基础上去了解它的具体用法,以此来达到四两拨千斤的学习效果。而且这样的学习具有更高的持久性,在看完这本小册之后,你以后也很难再忘掉 Git 的用法了。

图解git原理与日常实用指南

缘起 读了“扔物线”老师的小册《Git 原理详解及实用指南》感觉收获良多,于是想写点东西做一个总结,即加深自己的印象也希望能给社区小伙伴一点帮助,写的不对的地方还请多多指导。身为一个初入前端半年的菜鸟,由伊始的只知道git是用来托管代码的工具到逐步了解中央版本控制系统与分布式版本控制系统(git)的原理与区别;从之前只会基本的add、commit、pull、push操作到使用stash、merge...

weixin_34049948的博客 293

Git 原理详解及实用指南.zip

git的原理详解和实用指南,是开发的实际经验终结与提炼。

【Git】万字详解 Git 的原理与使用(上)

本期内容主要介绍 Git 是什么,如何安装,以及一些常用的命令~

爱编程爱运动的博客 4974

git原理详解及实用指南(好书).rar

1.git基本用法 2.git高级用法 3.git概念和本质 4.git中常见问题的处理方式 5.git中的高级需求解决方案

掘金 - Git 原理详解及实用指南

介绍分布式版本控制系统,想学习的推荐看看。PDF格式。

Git原理详解与实用指南

文章目录上手 1:新公司用 Git 管理代码,怎么快速上手?上手2:团队工作的基本工作模型 上手 1:新公司用 Git 管理代码,怎么快速上手? 安装git; 在github上创建一个仓库,用来练习,创建完成后,复制仓库地址; 打开git bash,创建一个放本地仓库的目录,如mkdir myGitProjects; 进入该目录,执行命令: git clone 仓库地址 拉取代码完成之后...

逐鹿人生的博客 1850

Git实用指南.pdf

学习git入门非常好的工具,帮助你尽快的掌握git的使用技巧。

掘金小册:Git 原理详解和实用指南

正如前两天公众号里说的,最近开启疯狂模式,和掘金合作,写了一本掘金小册。这本小册的名字是:《Git 原理详解和使用指南》。这本小册简单来说,是一本帮助那些始终学不会、学不好 Git 的人真正一次性学会 Git 的小体积电子书。更多的介绍我就盗一下自己在掘金的描述了:↓↓↓↓↓以下内容摘自我的掘金小册↓↓↓↓↓小册简介「Git 好难啊!」不会用 Git 和会用 Git 的人都这么说。随着这几年 Gi

HenCoder 9225

MOSFET原理详解及实用指南-完整版

MOSFET 工作原理-MOSFET 驱动器解析-MOSFET 功率参数大全-KIA MOS 管

bugku渗透测试4-writeup

三、对这个主机进行全端口的扫描,发现存在22000 ssh端口,那么可以联想到时redis写入公钥来连接主机。又来了一个新的靶场,这个靶场打下来我觉得关键就是信息收集,走了很多的弯路。八、最后一个flag是要去看cms的数据库里面,这个数据库是sqlite。把这个数据库下载下来,登录密码是加密的,就直接用token。一、入口的漏洞是在登录的时候去抓包,修改action的值。六、没想到这个第一台机器的密码,在第二台里面。七、扫描第一台主机、使用之前的密码连接成功。获取最后一台主机的root密码。

vsdfbhsdhsdfh的博客 1303

git 原理详解及实用指南_Git的实用学习练习

git 原理详解及实用指南 为了尝试使用Git进行练习,我开始在Opensource.com上阅读文档和此处的一些文章,特别是Seth Kenlon的介绍。 阅读完之后,该进行一些实际练习了。 像许多计算机科学专业的本科生一样,我也完成了编程作业和实验。 我保存了所有这些工作,那么为什么不使用此代码创建练习Git存储库呢? 然后,我可以运行代码并解决所有问题,这将使我练习进行提交和创建分支。...

cumj63710的博客 389

VMD-CNN-BiLSTM-Attention预测模型 —— 数学模型介绍&完整实例代码

想解决电力负荷预测中的非线性、非平稳难题?这篇博客介绍了一种创新混合模型,结合变分模态分解(VMD)和CNN-BiLSTM-Attention深度学习架构,实现超高精度预测! ✨ 核心亮点: ✅ VMD分解:有效分离复杂负荷信号,提取关键频率特征 ✅ 混合深度学习:CNN捕捉局部模式 + BiLSTM学习长时序依赖 + 注意力机制聚焦关键时段 ✅ 端到端优化:从数据预处理(滑动窗口、归一化)到模型训练(MSE损失+Adam优化),完整流程公开! ✅ 工业级评估:提供MSE、MAE、MAPE、R²多指标验证

qq_42924330的博客 1655

Git原理及实用技巧

本文从Git数据结构、Git操作可视化、Git合并策略、Git实战四个方向给大家进行剖析,帮助大家理解。

heyuxuan78的博客 1377

全志T113-S3 Linux系统移植实战:从硬件配置到内核启动全解析

本文详细解析了将Linux系统移植到全志T113-S3嵌入式芯片的完整实战流程。内容涵盖从开发环境搭建、Longan SDK源码获取,到关键的U-Boot配置、DDR初始化、Linux内核编译与设备树定制,以及根文件系统构建与启动脚本分析。文章结合硬件配置与启动日志解读,提供了从硬件配置到内核启动的全方位指导,帮助开发者高效完成系统移植。

ik67890123的博客 517

IAR调试CC1310的错误:Fatal error:Failed to connect to the XDS emlulator (Error -241 @ 0x0:)

从simplelink_cc13x0_sdk_2_10_00_36导入collector工程后,rebuild后进行debug,出现了如图错误:Fatal error:Failed to connect to the XDS emlulator (connect ICEPick)...(Error -241 @ 0x0)A router subpath could not be accessed....

qq_40417648的博客 6228

git基本原理详解

1.什么是git         这个去google一下可以搜出一大堆,git就是一个软件管理器,不同一般的是它是分布式的,不仅有一个中心的服务器控制最新版本代码,而且每个开发者自己还有个本地仓库,所以在开发过程中都是先将代码提交到本地仓库再推送到中心服务器上的,这样的好处就是每个人都依赖于中心服务器来实现交互,但又不会被中心服务器限制,就算中心服务器挂了,也能很容易的找到最新版本的代码,而且我

雨中奔跑 2万+

初识Classic AUTOSAR开发工具链

在过去,软件和硬件之间具有很强的耦合性,阻碍了软件组件在不同硬件平台上的可移植性和重用性。而AUTOSAR作为汽车电子行业的标准,提供标准的软件接口定义,工程师可以根据需求将软件组件分配到汽车的ECU中,实现标准软件组件的可重用性。

怿星科技的博客 8097

《Git 原理详解及实用指南》阅读笔记

用于记录阅读 Git 原理详解及实用指南 之后的笔记备忘。 git merge some_branch 的意思是将 some_branch 这一分支与 HEAD 指向的某一分支合并, HEAD 指向的可以是 master ,也可以是其他 branch 当只需要合并某一分支的特定部分的 commits 到另一分支时,就可以参考 Git合并特定commits 到另一个分支 这篇文章。根据这篇...

一个有思想的搬运工 5588

【Excel VBA 编程】批量核对两张表格数据,行和列显示顺序均被打乱

利用数据字典在 Excel 中进行表格数据的核对,该表格含有多行多列,并且行和列顺序是打乱的,批量核对数据后将差异输出

wei1019的专栏 1293

2026从0到1!C#工控机开发实战指南:新手一周就能跑通的完整项目

这篇文章摘要如下: 工业自动化领域工控机开发入门指南,针对零基础开发者提供从环境搭建到项目实战的全流程指导。文章首先解答工控机开发的3个核心问题,比较工控机与普通PC的区别,推荐使用C#作为开发语言。随后详细讲解开发环境配置、四大核心技术栈(通信协议、数据库、UI框架、多线程),并重点演示Modbus TCP通信的实现。最后通过一个完整的温度监控系统项目实战,展示如何用WPF构建实时数据采集界面,包括Modbus通信类编写、数据采集服务实现等关键代码片段。全文采用图解+代码的方式,帮助开发者快速掌握工控系统

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 706
上一篇: 深入Go的底层,带你走近一群有追求的人
下一篇: RabbitMQ 消息可靠性、延时队列以及高可用集群
码洞
博客等级 码龄10年 41粉丝 137原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值