Git 自学笔记 egit (分支管理 上)
来源:互联网 发布:php 微信菜单 编辑:程序博客网 时间:2024/06/06 16:24
这一章比较重要,讲述了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’分支的内容已经被合并。
- Git 自学笔记 egit (分支管理 上)
- Git 自学笔记 egit (分支管理 下)
- Git 自学笔记 egit (版本回退)
- Git 自学笔记 egit (github远程仓库)
- Git学习笔记5(分支管理)
- Git学习笔记(七)---分支管理
- Git学习笔记(分支管理)
- git的学习笔记(分支管理)
- git的学习笔记(分支管理)
- Git学习笔记(三) - 分支管理
- git学习笔记二(分支管理)
- Git-分支管理策略(笔记)
- git笔记--(3) --分支管理
- Git 学习笔记 --- 分支管理
- 【Git/Github学习笔记】Git分支管理(一)
- intellij idea 上进行 git分支管理
- git学习笔记(一):创建和管理远程分支
- Git 分支管理(Eclipse)
- linux命令总结(二)
- iOS 制作静态库 .a 文件 和 .framework 文件 以及解决第三方库冲突问题 (转载 mark 一下)
- 对于人工智能,这几位阿里云专家解读了一切
- USACO 1996 Qualifying Round,Raucous Rockers(录制唱片)
- Leetcode 103 Binary Tree Zigzag Level Order Traversal
- Git 自学笔记 egit (分支管理 上)
- 常用推荐算法(50页干货)
- JS与Objective-C交互(网页与原生交互---使用UIWebviewDelegate)
- 简单新闻客户端(4)---文章详情显示 webview的使用
- 如何排查Java内存泄露(内附各种排查工具介绍)
- 网络剧为什么这么红
- RAPIDxml文件操作不支持UNICODE导致乱码的原因
- recyclerview item 单选
- PHP安装JPEG