Git 分支管理与标签
学习目标
理解 Git 分支的概念和底层原理,掌握分支的创建、切换、合并、删除等核心操作,并学会使用 标签 标记重要版本。
一、分支的概念与原理
1. 分支的概念
定义: 分支是基于主线(例如
master或main)另外开启的一条新的代码开发线路。作用: 允许开发者在不影响主分支稳定性的前提下,并行地实现新的功能、修复 Bug 或进行实验性操作。
主分支: Git 初始化仓库时,会默认分配一个主分支,传统上称作
master,现代通常配置为main。
2. 分支的底层原理
Git 的核心不在于文件差异存储,而在于文件快照的存储。每次提交(Commit)时,Git 仓库会创建并存储以下三类对象:
分支的本质: 分支(如
master)本身只是一个指向某个提交对象(Commit)的 可变指针(引用)。HEAD 指针: 这是一个特殊的指针,它指向当前你所在的分支。也就是说,
HEAD是当前分支的别名。
示例: 当你在
master分支上进行一次新的提交时,Git 会创建一个新的提交对象,然后将master指针(引用)移动到这个新的提交对象上。
二、Git 分支操作命令
以下是在命令行中进行分支管理的常用操作。
1. 查看与创建分支
2. 切换分支
切换分支命令可以让 HEAD 指针指向新的分支引用。
3. 合并分支
将指定分支上的工作成果合并到当前所在的分支中。
# 1. 切换到目标分支(例如:主分支 main)
$ git checkout main
# 2. 合并指定分支(例如:将 testing 分支合并到 main)
$ git merge testing
4. 合并冲突(Merge Conflict)
当两个分支对同一文件的同一部分进行了不同的修改时,合并时就会产生冲突。
状态: 发生冲突后,Git 会进入
(MERGING)状态。冲突标识: 冲突的文件中会包含特殊的标记符号:
<<<<<<< HEAD # HEAD 指向的是当前分支的内容 好好学习 ======= # 分隔符 好好学习---- # testing 分支的内容 宝宝巴士 学习好好 >>>>>>> testing
解决: 手动编辑文件,删除这些冲突标记并保留 / 整合需要的内容,然后:
$ git add . # 将解决冲突后的文件加入暂存区
$ git commit -m 'Merge fix' # 提交合并结果
5. 删除与重命名分支
三、标签(Tags)操作
1. 概念
标签(Tag)是 Git 中用来标记项目某个特定时间点(即某个提交版本)的别名。它常用于标记软件的发布版本(如 v1.0.0),本质上也是指向某个提交对象的固定指针(引用)。
2. 标签分类
轻量标签 (Lightweight Tag): 类似于一个只读的分支,只是一个指针,指向某个提交对象。
附注标签 (Annotated Tag): 存储在 Git 数据库中,包含标签描述、打标签者的名字、邮箱、日期等信息。强烈推荐使用附注标签。
3. 查看与创建标签
4. 标签的删除与共享
#Git(5)文章作者:樱羽雨奈
文章链接:https://www.xiyung.cn/archives/git-fz
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议,转载请注明出处!