打赏

[git]git的分支管理

最近在折腾git,有感于git这个强大而好用的版本管理工具。

说说git分支管理的心得体会。

首先,要有个master主分支:


Git主分支的名字,默认叫做Master。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。

Git 的 “master” 分支并不是一个特殊分支。 它就跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大多数人都懒得去改动它。

 

日常开发中,要用到另外一个分支,就是Dev分支,主要用来开发,而Master主要用来重大发布。

如何创建Dev分支呢?

简单,用命令:

git checkout -b dev master

这句命令的意思是:从Master主分支上创建branch 分支:dev

那开发过程中,如何把开发分支dev合并到主分支master上呢?

用两个命令:

# 切换到Master分支
git checkout master

# 对Dev分支进行合并
git merge --no-ff dev

上一条命令的--no-ff参数是什么意思呢?

默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Dev分支。

再举个例子:

如果我们有一个这样的版本分支:

现在你有个紧急的bug要fix,让我们建立一个针对该紧急问题的分支(hotfix branch),在该分支上工作直到问题解决:

$


$
现在我们根据master创建了一个hotfix分支,如果我们在这个hotfix分支把问题修复,
并提交:


$
'fixed the broken email address'

 

这时候,分支图变成:

现在怎么把hotfix的分支合并到master上来呢?

执行命令:

首先用checkout命令切换到master分支:

$


然后,把hotfix分支合并到master:
$


这个时候,分支图是这样的:


关于这个紧急问题的解决方案发布之后,你准备回到被打断之前时的工作中。 然而,你应该先删除 hotfix 分支,因为你已经不再需要它了 —— master 分支已经指向了同一个位置。 你可以使用带 -d 选项的 git branch 命令来删除分支:

$ git branch -d hotfix

这时候,要打个tag:

git tag -a 1.2 (使用-u/-s/-a参数会创建tag对象,而非软tag)

一定要为master上的这个新提交打TAG(记录里程碑)

标签tag是针对某一时间点的版本做标记,常用于版本发布。

posted @   gyc567  阅读(272)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示