eclipse egit(分支管理 上)

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


分支在实际中有什么用呢?假设你准备开发一个新功能,可是须要两周才能完成,第一周你写了50%的代码,若是马上提交,因为代码还没写完,不完整的代码库会致使别人不能干活了。若是等代码所有写完再一次提交,又存在丢失天天进度的巨大风险。 


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


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


但Git的分支是不同凡响的,不管建立、切换和删除分支,Git在1秒钟以内就能完成!不管你的版本库是1个文件仍是1万个文件。 
git

咱们看看怎么在eclipse中建立分支并实际应用。安全

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

首先,咱们建立dev分支,而后切换到dev分支:svn

在git repositories中,点击该项目的 branches,-》右键switch to -》new branch,而且head已经默认指向了“dev”分支,之后你的每次提交都是在‘dev’上操做,已经跟‘master’分支无关了。 
这里写图片描述spa

如今history框是这样的: 
这里写图片描述.net

咱们在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’分支的内容已经被合并。

相关文章
相关标签/搜索