重学Git
文章平均质量分 96
归思君
这个作者很懒,什么都没留下…
展开
-
聊聊 Git SubModule(子模块)
是Git版本控制系统中的一种机制,用于在一个Git仓库中包含另一个Git仓库。它允许将一个Git仓库作为另一个Git仓库的子目录,并且可以独立地管理这个子仓库的版本,同时还保持提交的独立。Submodule的作用在于,它允许你在一个项目中使用其他项目的特定版本,而无需将整个子项目的代码复制到主项目中。这对于依赖管理和代码复用非常有用。包括子模块的初始化,如何使用 git submodule add 命令在主仓库添加子模块如何在子模块和主仓库之间的更新和同步子模块主要有以下应用场景。原创 2024-02-19 15:39:21 · 5278 阅读 · 3 评论 -
聊聊Git合并和变基
在日常对冲突的处理中,很明显的区别在于 rebase 的处理方式能让提交链更加清晰,而使用 merge 方式会显得提交链复杂交错。下面我们具体来看看两者的区别与联系。原创 2024-01-28 17:50:16 · 3949 阅读 · 0 评论 -
聊聊Git中的引用
总体来说,引用机制让Git可以通过简单但唯一的ID来识别和追踪对象,管理项目版本以及支持分布式协作开发模式。Git中的引用主要包括HEAD引用,指向当前检出的分支或提交对象。HEAD管理 Git 当前操作所在的分支或提交状态。分支引用,存储在.git/refs/heads目录下,每个分支对应一个引用文件。指向某个提交对象,跟踪分支历史记录和进度。本地分支和远程分支分别保存在不同目录下。标签引用,存储在.git/refs/tags目录下,每个标签对应一个文件或对象。用于标记特定版本,不可变更。原创 2024-01-23 15:16:22 · 1457 阅读 · 0 评论 -
Git 暂存区机制详解
Git的暂存区(Staging Area)是位于Git仓库内部的一个中间区域,也就是版本库.git目录下的index文件。暂存区的含义是,在对项目文件进行修改后,这些修改并不会立即被提交到版本库中。相反,你需要将这些修改先添加到暂存区,然后才能将其作为一个整体提交到版本库中。本文首先从概念上介绍了Git的三大区域:工作区、暂存区和版本库,并阐述了使用Git的标准工作流程。然后详细说明了暂存区的定义、它相关的操作命令和优势,比如分离工作区和版本库,控制提交内容等。原创 2024-01-20 14:47:47 · 2641 阅读 · 0 评论 -
深入剖析 Git 对象底层原理
我们知道,Git 是一个内容寻址文件系统,其核心部分是一个键值对数据库。当我们向 Git 仓库中插入任意类型的内容时,它会返回一个唯一的键。我们可以通过该键在任意时刻再次取回插入的内容。原创 2024-01-18 09:01:07 · 1651 阅读 · 0 评论 -
git init 执行后发生了什么?
在讲解.git 目录内容前,先来说说 git 中相关的概念:1. **仓库(Repository)**:Git使用仓库来存储项目的版本历史和文件。一个仓库可以包含完整的项目历史记录,包括所有的分支、标签和提交。2. **提交(Commit)**:提交是Git中的基本操作单元,它代表了项目中的一个版本快照。每个提交都包含一个唯一的哈希值,用于标识和引用该提交。原创 2024-01-11 10:26:43 · 1352 阅读 · 0 评论