这一章比较重要,讲述了Git比svn强大的地方,直接转载廖雪峰老师的文字,更好的理解 什么是分支 和 为什么分支git比svn做的更好

分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

其他版本控制系统如SVN等都有分支管理,但是用过之后你会发现,这些版本控制系统创建和切换分支比蜗牛还慢,简直让人无法忍受,结果分支功能成了摆设,大家都不去用。

但Git的分支是与众不同的,无论创建、切换和删除分支,Git在1秒钟之内就能完成!无论你的版本库是1个文件还是1万个文件。

我们看看怎么在eclipse中创建分支并实际应用。

在以前的版本中,我们知道git对每个项目都有一个默认的时间线,就是master分支,每次提交,Git都把它们串成一条时间线,然后有一个head指针,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点。

首先,我们创建dev分支,然后切换到dev分支:

在git repositories中,点击该项目的 branches,-》右键switch to -》new branch,并且head已经默认指向了“dev”分支,以后你的每次提交都是在‘dev’上操作,已经跟‘master’分支无关了。 

现在history框是这样的: 

我们在demo.Java文件中 添加一个方法 dev(),然后commit(提交), 
head指针已经不指向master分支,而是跟着‘dev’分支形影不离。 

当我们切换回‘master’分支最新的提交点(在master分支上点checkout),dev()方法不见了: 

那我们假如dev分支上的活干完了,该怎么合并到master分支上呢?

1.在git repository界面 先切换回‘master’分支(右键master-》checkout) 

2.然后右键master-》merge..,注意fast forward options选第二项,可以在History框看到分支合并的详细信息,能看出来曾经做过合并 

3.在Local文件夹中选择你需要合并到’master’分支中的分支,在这里当然是选择’dev’分支。然后点merge就行。 

从上面的history框就可以看到现在head重新指向了‘master’分支,而‘dev’分支的内容已经被合并。

转载于:https://www.cnblogs.com/duex/p/6390014.html

eclipse egit(分支管理 上)相关推荐

  1. git使用指南及分支管理策略

    Git是什么? Git是一个开源的分布式的版本管理工具. 为什么要使用GIt? Git是目前世界上最先进的版本管理工具,尤其在分支管理上表现突出,能够极为方便地解决开发中的版本问题. Git如何使用? ...

  2. git上传分支的原理_git系列教程四:分支和分支管理

    一些零碎的知识 修改最后一次提交 实际开发中,你可能会遇到下边这两种情况: Situation One:版本刚一提交(commit)到仓库,突然想起漏掉两个文件还没有添加(add).就好比你是老司机, ...

  3. 【Git-10】Eclipse中Git分支管理

    分支管理,是 Git 开发中的一个非常有效的团队开发策略.多个程序员并行开发,每个程序员可以定义各自的分支,在自己的分支上开发工程.再开发结束测试完毕后,再合并到主干工程中,一次性提交到远程.由其他程 ...

  4. 史上最简单的git教程|第九篇:分支管理工具

    在上一篇我们讲到了如何创建合并分支.如何解决冲突以及如何删除分支,那么接下来我们将讲到一些常用的分支管理工具. 获取所有分支列表: $ git branch * b1master 可以看书一共有两个分 ...

  5. git分支管理规范和gitee上分支开发

    git分支管理规范 分支开发图示: 初始化仓库 git init 初始化master vim Readme.md git add . git commit -m "init" 创建 ...

  6. 07 分支管理 —— Feature分支

    2019独角兽企业重金招聘Python工程师标准>>> 07 分支管理 -- Feature分支 软件开发中,总有无穷无尽的新的功能要不断添加进来.添加一个新功能时,你肯定不希望因为 ...

  7. 139.00.005 Git学习-分支管理

    @(139 - Environment Settings | 环境配置) 一.Why? 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交, ...

  8. Git 远程仓库分支管理

    目录 目录 速查表 关联远程代码仓库 克隆远程仓库 分支管理 创建分支 切换分支 合并分支 删除分支 解决冲突 速查表 指令 作用 git branch 查看分支 git branch newBran ...

  9. 【Git】Git 分支管理 ( 解决分支合并冲突 | 本地处理文件冲突 )

    文章目录 一.本地处理文件冲突 一.本地处理文件冲突 在下面的 [Git]Git 分支管理 ( 解决分支合并冲突 | 创建并切换分支 git switch -c feature1 | 修改 featu ...

最新文章

  1. ctypes python3_聊聊Python ctypes 模块
  2. 我有一个顶会idea还没做实验,NeurIPS:先占坑再实验!
  3. Microsoft Visual C++ 14.0 is required错误解决办法
  4. html语言table,HTML table 标签
  5. GitHub 2017 年度报告,最受欢迎的编程语言是?
  6. Chrome渲染Transition时页面闪动Bug
  7. Node-ES6模块化
  8. Struts1.x系列教程(19):LookupDispatchAction类处理一个form多个submit
  9. 阳新一中2021高考成绩查询,阳新一中2019高考成绩喜报、一本二本上线人数情况...
  10. go模块的使用,调用第三方模块方法---go模块的复用方法
  11. 手机性能测试软件汇总,手机的各项性能测试
  12. linux每日命令(3):ln命令
  13. 设计窗口模拟教室座位表java,基于web的考研自习教室座位管理(完整源码+论文全套+教学视频)...
  14. C++Comb Sort梳排序的实现算法(附完整源码)
  15. 如何使网站被搜索引擎快速收录
  16. Android MVVM框架搭建(八)高德地图定位、天气查询、BottomSheetDialog
  17. matlab 面积函数,编写函数计算一个正方形的面积,并且在Matlab主函数中调用该函数。要求函数名为area,返回参数是...
  18. 【算法导论-主定理】用主方法求解递归式 学练结合版
  19. 【C语言基础】练习题
  20. python 波动率锥_推广 || 12个小时干货分享!上海财大期权实战特训课程(11月)...

热门文章

  1. 初步了解Linux创建文件系统命令
  2. 80x86汇编按二进制输出数字的程序图解和代码解释
  3. 使用纯 Win32 API 编程实现Winpcap 封包捕获的第一个例子
  4. 创建和准备Oracle样例数据库
  5. 用RadASM 开发窗口程序
  6. html and js 的隔行换背景色表格实例详解
  7. SQL注入语法类型——报错注入
  8. 补充知识:三元运算和逻辑运算
  9. 【51nod】1559 车和矩形
  10. IOS开发数据库篇--- sqlite常用语句