工具-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时生 ...
随机推荐
- 硕思logo设计师注册码去哪里找
硕思logo设计师注册码去哪里找呢?当然是硕思logo设计师官网啦! 最近小编总是会被网友们咨询关于logo设计的问题,其中很多网友并不是专业的设计人员,特别是一些设计公司面对新手设计时,往往会不知所 ...
- Anno微服务引擎与传统应用相融合
1.Anno是什么? Anno是一个微服务引擎.在此之前我们通过 Viper项目对Anno有一个基本的认识,并且Viper也受到的很多朋友的喜欢,截止发稿前Viper在GitHub收获了300多个星. ...
- jquery删除文件
1 <div class="panel panel-default"> 2 <div class="panel-body"> 3 < ...
- Python JSON存储数据
前言: 很多程序都要求用户输入某种信息,如让用户存储游戏首选项或提供要可视化的数据.不管专注的是什么,程序都把用户提供的信息存储在列表和字典等数据结构中.用户关闭 程序时,你几乎总是要保存他们提供的信 ...
- Tarjan 算法总结
一些概念 连通:无向图中的任意两点都可以互相到达. 强连通:有向图中的任意两点都可以互相到达. 连通分量:无向图的极大连通子图. 强连通分量:有向图的极大强连通子图. DFS 生成树:对一张图(有向无 ...
- 2. git命令行操作之本地库操作
2.1 本地库初始化 git init 命令 用于创建一个空的Git本地仓库或重新初始化一个现有本地仓库 注:.git目录中存放的是本地库相关的子目录和文件,不要删除也不要随意修改 git confi ...
- C语言讲义——快速排序
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序 它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod) 基本思想: 1.先从数列中取出一个数作 ...
- Java基础教程——Random随机数类
Random类 java.util.Random类用于产生随机数.需要导入包: import java.util.Random; 方法 解释 Random() 创建一个Random类对象 Random ...
- K8ssandra——专为Kubernetes云原生数据而生
DataStax最近发布了K8ssandra--一个开源的.部署于Kubernetes上的Apache Cassandra全新发行版本.K8ssandra一站式集合了在Kubernetes上部署开源版 ...
- eclipse 老坑巨滑之内存溢出OOM
绪:今天接手一个古老项目,tomcat6+jdk6.被 java.lang.OutOfMemoryError: PermGen space 啪啪打脸, 网上确实有很多解决方法,主要有三种类型:一 ...