Git教程学习(四)
2015-07-04 11:41
218 查看
12. 分支管理场景
多人协同工作时,你在优化代码X,需要较长时间才能完成,未完成之前会影响整体代码的使用.于是写完的代码不能提交到版本库,提交就会影响别人使用整体的代码.不提交你就失去了git的版本管理功能.
于是需要分支,为你正在修改的代码建立分支,别人看不到.而你在自己的分支上工作,最后完成再合并到原来的分支
13. 创建与合并分支
13.1. 场景
在Git中,版本控制是靠指针.每个分支都有一个专用的指针.同时有一个HEAD指针指向主版本.实现的时候HEAD指针实际上是指向分支指针的,再由分支指针指向分支.每次有commit就相当于有了新的分支版本.但是一个分支的不同版本只有一个分支指针.
建立新分支其实就是新建了一个分支指针X并把HEAD指向这个分支指针,这样你的修改就都在这个分支上而不会影响主版本A的修改.
在完成修改之后再把分支X和原主版本A合并
13.2. 创建新分支
13.3. 查看所有分支(其中*对应的就是HEAD指向的当前版本
这时修改文件,add commit之后修改的就是生成了dev分支的新版本.不会影响master
13.4. 切换分支
将当前分支变成master,dev依然存在
13.5 合并dev与master
将dev与当前HEAD指向的版本库合并.目测这种合并是选择了两个分支中最新的内容.
13.6. 删除分支
多人协同工作时,你在优化代码X,需要较长时间才能完成,未完成之前会影响整体代码的使用.于是写完的代码不能提交到版本库,提交就会影响别人使用整体的代码.不提交你就失去了git的版本管理功能.
于是需要分支,为你正在修改的代码建立分支,别人看不到.而你在自己的分支上工作,最后完成再合并到原来的分支
13. 创建与合并分支
13.1. 场景
在Git中,版本控制是靠指针.每个分支都有一个专用的指针.同时有一个HEAD指针指向主版本.实现的时候HEAD指针实际上是指向分支指针的,再由分支指针指向分支.每次有commit就相当于有了新的分支版本.但是一个分支的不同版本只有一个分支指针.
建立新分支其实就是新建了一个分支指针X并把HEAD指向这个分支指针,这样你的修改就都在这个分支上而不会影响主版本A的修改.
在完成修改之后再把分支X和原主版本A合并
13.2. 创建新分支
$ git checkout -b dev Switched to a new branch 'dev' 相当于 $ git branch dev $ git checkout dev Switched to branch 'dev'
13.3. 查看所有分支(其中*对应的就是HEAD指向的当前版本
$ git branch * dev master
这时修改文件,add commit之后修改的就是生成了dev分支的新版本.不会影响master
13.4. 切换分支
$ git checkout master Switched to branch 'master'
将当前分支变成master,dev依然存在
13.5 合并dev与master
$ git merge dev Updating d17efd8..fec145a Fast-forward readme.txt | 1 + 1 file changed, 1 insertion(+)
将dev与当前HEAD指向的版本库合并.目测这种合并是选择了两个分支中最新的内容.
13.6. 删除分支
$ git branch -d dev Deleted branch dev (was fec145a).
相关文章推荐
- 用URL浏览图片
- 解决angular 与django的冲突
- java基础之java的基本了解
- Android中数据库的创建和使用
- UVA - 1347 Tour
- 能量英语(四) 之 “信念”
- C#基础之类的出现
- Win10 Build 10164泄露 已开始始接受第一阶段测试
- java动态代理详解,并用动态代理和注解实现日志记录功能
- 监听listview中item有控件点击事件的变化,更新listview
- Roman to Integer
- 关于java初始化的问题
- php面向对象编程--接口
- 图像质量评价指标之Matlab实现
- STM32接收串口数据-输出PWM
- php和mysql web开发学习记录
- 就社会实践名单公布及看师姐文档有感
- 利用jetty实现超轻量级web开发
- PL/SQL developer配置方法
- 零基础学习hadoop到上手工作线路指导(编程篇)