git 学习之分支
在一开始学习 git 的时候我们经常提到一个东西---- master。那么 master 到底是什么呢?其实它就是一个分支,一般这个分支就是主分支。而在一般 git 中都有一个指向当前你工作的分支 HEAD。
对于一开始的时候,master 分支是一条线的。对于我们每次提交的时候,git 分支都会向前移动一次,因此随着我们的提交越来越多,master 分支也越来越长。当我们创建一个新的分支(hotFix)的时候,git 会为我们创建一个新的指针(hotFix),而我们可以把当前工作的地方指向当前分支(hotFix),也就是说将 HEAD 指向 hotFix,这时候就表示当前分支就是 hotFix。因此在我们进行分支切换的时候工作区的文件是会发生改变的。
这时候我们在 hotFix 做了修改那么 hotFix 指针会向前走一步,而对于 master 指针是不会改变的。如下所示:
这时候我们在 hotFix 上完成工作了,需要将我们所做的更改合并到 master 分支上,合并完后将 HEAD 指针指向 master 分支,然后再将 hotFix 分支删除掉,删除之后就只剩下一个 master 分支。
说了这么多那么怎么创建分支呢?
创建分支
创建分支我们可以使用 git checkout -d <branchName>,其实对于这条命令是做了以下两步:
--创建分支
git branch hotFix
--切换分支
git checkout hotFix
当然我们也可以使用 git branch 查看当前的分支
-- 对于当前分支前面会有一个 * 号
$ git branch
* dev
master
合并分支
可以使用 git merge 将指定分支合并到当前的分支。合并之后我们会发现在 hotFix 分支做的修改被添加到了 master 分支。
删除分支
在我们合并完之后,就可以将 hotFix 分支删除掉。这时候可以使用 git branch -d hotFix。删除之后就会发现只剩下 master 分支了。
我们对以上所讲的东西进行汇总下:
1. 查看分支:git branch
2. 创建分支:git branch <name>
3. 切换分支:git checkout <name>
4. 创建+切换分支:git checkout -b <name>
5. 合并某分支到当前分支:git merge <name>
6. 删除分支:git branch -d <name>
git 学习之分支的更多相关文章
- 四、git学习之——分支管理、解决冲突
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...
- git 学习(2) ----- 分支
当我们进行程序开发的过程中,有时会产生一个新的想法,然后就想马上试验,那我们怎么办? 如果我们继续在现有的基础上进行开发,但最后想法不成功,我们还要进行版本回退?如果我们的新想法,需要很长时间才能实现 ...
- git学习笔记 --分支管理策略
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的comm ...
- 五、git学习之——分支管理策略、Bug分支、feature分支、多人协作
一.分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生 ...
- mzy git学习,分支以及分支合并(四)
git 鼓励大量使用分支:最后进行master和分支之间的合并 git branch git branch 查看当前有多少分支,并且将当前在使用的分支用*标注出来. [一定要注意git的分支有从属概念 ...
- git学习笔记 ---分支管理
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并 ...
- Git学习笔记——分支
分支用法很多,比如bug修复,协作管理,这里只简单介绍我在工作中用到的协作模式. 场景:我自己开发独立功能,在本地为自己创建一个分支就叫localbranch吧,甭管master到哪了,我只管开发我的 ...
- git学习--远程分支删除
查看远程分支 git branch -r 使用下面两条命令来删除远程分支 git branch -r -d origin/branch-name git push origin :branch-na ...
- mzy git学习,分支冲突,以及冲突解决(五)
冲突解决: 先尝试制造冲突: 首先我:git checkout -b mzy 创建一个mzy的分支 然后在其中修改readme.txt文件,随便加上一点东西. vim readme.txt wri ...
随机推荐
- centos mysql忘记密码找回(仅限mysql5.7)
1.停掉mysql 2.执行#mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 3.#mysql 4.updat ...
- JDBC 中 socketTimeout 的作用
如果我们把socketTimeout设置如下: socketTimeout=60000; 这意味着60秒以内服务器必须开始给客户端吐数据,以保持socket的活性.配置成60秒,一般查询都不会遇到问题 ...
- 基于SSH的网上图书商城-JavaWeb项目-有源码
开发工具:Myeclipse/Eclipse + MySQL + Tomcat 项目简介: 技术:Java:JSP:JDBC,struts2,spring,hibernate数据库: mysqlweb ...
- 学习python的第五天
4.30自我总结 一复习 1.查看数据类型 #数值10的位置 print(di(10)) #数值10的样式 print(type(10)) 2.关于变量的一些补充 a=1 b=1 c=1 #a,b,c ...
- 溢出文本省略号表示的css实现及polyfill
需求经常有需要对文字溢出进行处理,通常是在文字显示部分的末尾添加“...”等.如下:
- c# 多线程线程池基础
线程池的作用 在上一篇中我们了解了创建和销毁线程是一个昂贵的操作,要耗费大量的时间,太多的线程会浪费内存资源,当线程数量操作计算机CPU的数量后操作系统必须调度可运行的线程并执行上下文切 ...
- Java基础知识点1
运算符 运算符的分类: 算术运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 三目运算符 自增自减运算符:++i:i先自加,再做其他运算:i++先运算再自加: --i先自减再做其他运算:i--先运 ...
- 【bzoj4998】星球联盟(并查集+边双)
题面 传送门 题解 总算有自己的\(bzoj\)账号啦! 话说这题好像\(Scape\)去年暑假就讲过--然而我到现在才会-- \(LCT\)什么的跑得太慢了而且我也不会,所以这里是一个并查集的做法 ...
- NEST - How can i do multiple nested aggregation?
question: How can I do multiple nested aggregation? I have tried something like this: Aggregations(x ...
- [Flex] 组件Tree系列 —— 作为PopUpButton的弹出菜单
mxml: <?xml version="1.0" encoding="utf-8"?> <!--功能描述:Tree作为PopUpButton ...