工具-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时生 ...
随机推荐
- Folx种子下载器怎么管理下载任务
对于喜欢追剧的用户来说,同时下载好几部剧是司空见惯的事情.但有时候,有些剧比较好看或者热度比较高时,就会希望优先将其下载下来. 对于使用Folx种子下载器的用户来说,可以结合使用下载列表+最大活动数的 ...
- yum安装软件时报错libmysqlclient.so.18()(64bit)
错误信息 yum -y install sysbench 安装sysbench提示缺少依赖包如下图: 主要原因 缺少Percona-XtraDB-Cluster-shared-55-5.5.37-25 ...
- 学习关注:学习C++的前景
许多朋友都有这样的疑问,学习C/++能做什么?有什么好处?薪资怎么样,下面就为大家来解答! 像前面的文章有提到过,计算机专业位列热门专业第一门,可想前景如何.C语言C++属于高级语言,适合人类编写,现 ...
- 【震惊】手把手教你用python做绘图工具(一)
在这篇博客里将为你介绍如何通过numpy和cv2进行结和去创建画布,包括空白画布.白色画布和彩色画布.创建画布是制作绘图工具的前提,有了画布我们就可以在画布上尽情的挥洒自己的艺术细胞. 还在为如何去绘 ...
- java基础之一:基本数据类型
在java中有基本数据类型和引用类型两种,今天来说下基本数据类型和其对应的包装类的之间的关系. 一.概述 java中的基本数据类型有八种,分别是char.byte.short.int.long.flo ...
- mfc 位图本地存储 本地位图读取显示
一.读取CImage //在绘图函数中直接使用参数pDC,无需定义 CDC* pDC = GetDC(): //读去位图路径,根据实际情况修改 CString loatImagePath = TEXT ...
- KNN 算法-理论篇-如何给电影进行分类
公号:码农充电站pro 主页:https://codeshellme.github.io KNN 算法的全称是K-Nearest Neighbor,中文为K 近邻算法,它是基于距离的一种算法,简单有效 ...
- Event Loop - 事件队列
Event Loop 定义: event - 事件 loop - 循环,既然叫事件循环,那么循环的点在哪? 循环的是一个又一个的任务队列,这些任务队列由宏任务和微任务构成 两条原则 一次处理一个任务 ...
- Flv.js记录(vue)
下载 npm install flv.js 插入 import flvjs from 'flv.js' 第一种报错:Failed to read the 'buffered' property f ...
- 对于Web开发最棒的22个Visual Studio Code插件
翻译 原文作者:James Quick 原文地址:https://scotch.io/bar-talk/22-best-visual-studio-code-extensions-for- ...