工具-Git与GitHub-分支管理(99.5.2)
@
1.分支介绍
创建了一个属于自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上

2.基本使用分支
注意
所有的操作都基于已经使用git的文件夹(工程目录)
1.查看分支
git branch
2.创建一个分支dev并切换到其上进行工作
git checkout -b dev
此时状态指针状态

3.在dev分支中变更已经追踪的文件,并进行提交
#添加到stage(假如工作区已经修改这个文件)
git add 1.txt
#提交到版本库
git commit -m "dev分支第一次"
此时状态指针状态

4. dev分支的工作完成,可以切换回master分支
git checkout master
此时状态指针状态

5.把dev分支的工作成果合并到master分支上
git merge dev
这次合并是“快进模式”(Fast-forward),也就是直接把master指向dev的当前提交,所以合并速度非常快。因为此时master没有更改,所以直接指向就完事
此时状态指针状态

6.合并完成后删除dev分支了
git branch -d dev

3.解决冲突
此时指针状态(master,dev都有修改),此时去merge。git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突。此时合并会生成一个新的提交,假设现在已经在master分支使用fast合并了一次,没有成功(git merge dev),提示必须在master手动解决冲突文件再提交

1.查看冲突文件(就是两边都有修改的文件)
git status
2.手动修改冲突文件,再加入缓存区,提交
#添加到stage(假如工作区已经解决这个冲突文件)
git add 1.txt
#提交到版本库
git commit -m "解决master和dev的冲突"
此时指针状态

3.查看状态,在命令行以图的方式查看
git log --graph
4.合并完成后删除dev分支了
git branch -d dev
3.分支管理策略
通常合并分支时,如果可能,git会用fast forward模式,但是有些快速合并不能成而且合并时没有冲突,这个时候会合并之后并做一次新的提交。
1.切换到dev分支下,并新建了一个文件提交到dev版本库
#在master分支下运行,创建dev分支并且切换过去
git checkout -b dev
#加入暂存区(创建2.txt后)
git add 2.txt
#提交到版本库
git commit -m "dev创建了2.txt"
2.切换回master分支,编辑1.txt并进行一个提交
#切换到master
git checkout master
#加入暂存区(修改1.txt后)
git add 1.txt
#提交到版本库
git commit -m "master更改1.txt"
3.合并dev分支的内容到master分支
#切换到master
git checkout master
#加入暂存区(修改1.txt后)
git add 1.txt
#提交到版本库
git commit -m "master更改1.txt"
4.删除dev分支
git branch -d dev
4.强制禁用fast forward模式
前提使用merge的时候没有冲突
git merge --no-ff -m "强制合并dev和master" dev
5. Bug分支
软件开发中,bug就像家常便饭一样。有了bug就需要修复,在git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。假如当前在dev分区干活
1.把当前工作现场“储藏”起来,等以后恢复现场继续工作
git stash
2.假定需要在master分支上修复,就从master创建临时分支
git checkout -b bug_master_001
3.修复完成提交
4.回到dev分支还原现场
git checkout dev
git stash pop
关于作者
个人博客网站
个人GitHub地址
个人公众号:
工具-Git与GitHub-分支管理(99.5.2)的更多相关文章
- python使用git进行版本控制-分支管理
1.远程克隆 最好的方式是先创建远程库,然后,从远程库克隆: 首先在github上创建一个新的仓库,名字叫gitskills 我们勾选Initialize this repository with a ...
- Git如何进行分支管理?
Git如何进行分支管理? 1.创建分支 创建分支很简单:git branch <分支名> 2.切换分支 git checkout <分支名> ...
- github 分支管理
github 分支管理 最近有同事问我git 如何管理分支,这里我以github为例,做下工作中常用的分支管理操作. 分支管理 作用:假设你准备开发一个新功能,但需要两周才能完成,第一周写了60%,如 ...
- Git 远程仓库分支管理
目录 目录 速查表 关联远程代码仓库 克隆远程仓库 分支管理 创建分支 切换分支 合并分支 删除分支 解决冲突 速查表 指令 作用 git branch 查看分支 git branch newBran ...
- Git远程和分支管理
一.远程 Git是分布式版本控制系统,最重要的优点就是远程仓库托管代码.不用自己搭建一个服务器,在github上面注册一个账户就可免费获取远程仓库. 首先需要先在github上面 ...
- 史上最浅显易懂的Git教程3 分支管理
假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险 ...
- 【Git教程】Git教程之分支管理
在前一篇文章中,主要针对Git本地仓库和远程仓库的基本操作命令进行了简要介绍,本文主要集中介绍Git的另一个主要的特点:分支管理和多人协作. 什么是分支管理 当一个任务需要多人协作完成时,每个 ...
- git基本操作:分支管理
一.创建测试项目 1.新建GitHub仓库 在GitHub上面新创建一个仓库,用来演示分支管理,如下图所示: 点击“Create repository”按钮创建新仓库. 2.将本地仓库项目上传到Git ...
- 五、git学习之——分支管理策略、Bug分支、feature分支、多人协作
一.分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生 ...
随机推荐
- 如何用CorelDRAW画箭头?
CorelDRAW,简称为cdr,是一款专业的矢量绘图软件,在设计界也是常用的专业设计之一,在日常的设计工作中,我们常常需要绘制一些特殊的图形,比如箭头.很多对cdr不是特别熟练的小伙伴不知道如何用c ...
- Vegas视频的音频叠加效果怎么实现,可以用其他软件吗
有时我们会用Vegas为某段影片配音,我们要怎么把配音和背景声融合在一起呢?想必马上会有人反应过来:让配音和背景声分别置于两条轨道上就好了.这当然是一个相当好的方式. 可是,如果我想要把两段音频合成一 ...
- Jenkins中如何自定义构造结果
jenkis中的触发邮件机制是根据构建成功与否来发邮件,实际上我们在jenkis上定时执行脚本时是需要根据用例的执行结果来触发邮件预警 本文讲叙如何根据用例的执行结果来触发邮件预警 1.在任务配置的b ...
- 关于iOS路径变化的解决方案
问题描述: 使用沙盒存储文件的时候,我们会保存文件的绝对路劲以便下次读取,但是发现一个现象,我们保存的文件,在第二次打开App去查找的时候,发现找不到了...... 查找原因: iOS8之后,苹果添加 ...
- Windows启用SSH命令
前言 直接通过windows自带的CMD终端远程连接服务器,需要先安装好OpenSSH客户端. 安装 使用浏览器打开官网: https://www.mls-software.com/opensshd. ...
- docker提示容器已存在
docker ps -a docker rm 容器id 重启启动
- CentOS7配置时间和CentOS6搭建局域网NTP
NTP 2015年8月20日 星期四 17:34 CentOS 7配置本地时区和TIME ZONE #用tzselect配置时区和time zone [root@localhost Asia]# /u ...
- Spring Boot 2.4.0 发布,配置文件重大调整,不要乱升级!!
前段时间 Spring Boot 2.4.0 发布了,栈长作了一个新特性全盘解读,其中介绍了一个很重要的变革,那就是配置文件. 配置文件可是每个框架的核心,不得不搞清楚,所以,这篇栈长就带大家深入实战 ...
- Spring Boot 2 集成 Swagger
本文测试代码使用 Spring Boot 2.1.6.RELEASE + Swagger 2.9.2 添加依赖 <dependency> <groupId>io.springf ...
- CoProcessFunction实战三部曲之三:定时器和侧输出
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...