1.什么是分支,分支能解决什么问题?
1.1 分支简介
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git 的默认分支名字是 master,
Git 的 “master” 分支并不是一个特殊分支。 它就跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init
命令默认创建它,并且大多数人都懒得去改动它。
1.2 解决问题
一般在线上开发 需要建几个分支 master分支(主干分支 保证随时是可进行发布代码) ,dev分支(开发过程中 需要推送到远程仓库的分支,待开发完毕 合并到主干master) ,bug分支 (修复代码bug的分支),或者还有个人自己建的分支,见多个分支好处:
1.2.1 首先是保证主干master分支代码是最新的并且是可发布的状态;
1.2.2 其次 我们并行开发多个不同任务 ,可以分别推送到不同 分支下,保证并行效率,且代码不收影响
1.2.3 开发过程中遇到紧急bug时候,可以把当前代码推送某个分支上,修复bug后 在进行后续开发
2.git分支相关命令
2.1 创建分支
查看分支:git branch -a(显示本地和远程所有分支)
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
如图1:新建和切换分支
新建dev分支和bug分支并却换到bug分支下
如图2:分支合并及删除
1).在上图基础上 删除bug分支
2).分支合并
2.1 首先切换到dev分支上,修改工作区代码,并推送推送远程仓库,观察变化
2.2 切换到master分支上,并对dev分支进行合并
2.3 查看分支的合并图
3.分支创建到合并的过程
3.1 一开始的时候,master
分支是一条线,Git用master
指向最新的提交,再用HEAD
指向master
,就能确定当前分支,以及当前分支的提交点:
3.2 每次提交,master
分支都会向前移动一步,这样,随着你不断提交,master
分支的线也越来越长:当我们创建新的分支,例如dev
时,Git新建了一个指针叫dev
,指向master
相同的提交,再把HEAD
指向dev
,就表示当前分支在dev
上:
3.3 Git创建一个分支很快,因为除了增加一个dev
指针,改改HEAD
的指向,工作区的文件都没有任何变化!不过,从现在开始,对工作区的修改和提交就是针对dev
分支了,比如新提交一次后,dev
指针往前移动一步,而master
指针不变:
3.4 假如我们在dev
上的工作完成了,就可以把dev
合并到master
上。Git怎么合并呢?最简单的方法,就是直接把master
指向dev
的当前提交,就完成了合并:
相关博客:
3).Github的使用(三)
4).Git 常用命令(四)
5).Git 版本回退(五)
6).Git版本冲突解决(六)
7).git 分支管理(七)
相关推荐
如果你严肃对待编程,就必定会使用”版本...git分支管理策略,规范公司开合作开发流程。同时针对目前对开发团队使用 Git 并没有统一的分支管理策略,所以编写该文档为后续新员工培训、代码管理、自动化发布提供标准。
GIT分支管理 远程分支 本地分支 GIT分支管理 远程分支 本地分支
该文档定义了分支管理规范-GIT分支流程开发规范。
企业git分支管理pdf
Git分支管理的策略梳理
详细讲解git分支管理,适合于代码管理、项目管理等工作。
几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对...
Git 是目前最流行的源代码管理工具。为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作
在这一篇博客中我们来在大家讲解一下Git分支管理,这可以说是Git的又一大特点。下面我们就来学习一下Git分支管理吧。我们先来说一个简单的案例吧,你们团队中有多个人再开发一下项目,一同事再开发一个新的功能,...
分支管理规范说明资料
在这篇文章中,我提出一个开发模型。我已经将这个开发模型引入到我所有的项目里(无论 在工作还是私人...我不会讲任何项目的具体细节,仅是关于分支策略和释放管理相关内容。 它主要体现了Git对我们源代码版本的管理。
使用git管理项目的时候,通常会有多个分支,在多个分支的情况下,如何管理项目,如何在本地,远程仓库管理项目。
关于git项目管理分支说明。 2.1. master主干 命名:master 说明:发布分支 master为程序主干目录,开发新需求需从master打新分支,开发完成合并回master发测试包,测试完成需打新的tag包,tag包申请上线发布 2.2. ...
Git分支和标签管理【Git和GitHub教程3】
学习Git分支管理的必看资料