版本控制器——Egit使用方法
什么是Git
Gitv是目前世界上最先进的分布式版本控制系统。
那我们为什么需要学习Git呢?因为在我们传统的java自学中,所有的项目都是自己独立开发完成,而且项目基本都是小型项目,在优化和体验上往往比不了正规的公司产品。而当我们进入公司,正式参与到公司的大规模项目中,你就会发现,一个项目都是由5-20甚至更多的程序员合作开发的,而合作开发的东西就需要一个版本控制器,一方面记录每次更新的代码版本,一方面把各个程序员开发的东西拼接到一起,因此我们就需要用到Git。

git的整个运行模式就像上图显示的这样子,每个程序员先从GIT库中拉取项目代码到自己的电脑上,然后在自己的电脑上写好相应的代码后再提交到git库中。这样别人从git库拉取的代码就是你补充过的项目代码了。

而具体的过程,就是如上图所示,从云git拉取代码修改后commit提交再plush到云库。在这期间如果有其他人拉取的和你是同一个版本,且提交做出修改的内容有冲突(修改同一个java类)。最简单的方法就是从云库再拉取一遍,在本地合并或者修改成一个统一的版本,再提交到云库的新版本。(在实际开发中,建议每次plush时都拉取一下最新的版本,以免产生冲突)
Git是以修改的不同为记录,而不是整个文件。 每次提交和拉取的代码其实都不是整个项目,而是期间版本发生过改变的,可能是一个类,可能是几个类,极大的简便了我们。
同时,Git也因此而强大。因为这种机制,GIT可以很轻松的做“时光倒退”等操作,假如你对最新一次提交不满意,可以操作回到之前的版本。 而且可以拿出两个版本的具体不同代码,做出对比。
Egit的安装
作为学习java不久的我们,学习GIT这里我也推荐大家从公司常用的Eclipse插件EGit学起,至于Git,有这个需求的朋友可以自行百度学习下,而Egit的资料相比之下少了许多,这里版主就在这里带着大家看看,从实际作用的角度去学习。
1.打开eclipse,找到help,搜索Egit(由于EGit的版本可能有更新,大家不要只看图标,凡是EGit-******就可以了),点击右下方按钮安装。


2.使用EGit前的配置
配置个人信息,最重要的是user.name和user.email
l Preferences > Team > Git > Configuration
l New Entry

3.Egit的dsa秘钥
Egit的dsa秘钥相当于是一个独属于你的密码,用于存储SSH协议使用的非对称加密密钥文件,在进行对远程git库的连接的时候是需要的。
1)Eclipse:Window->preferences->General->Network Connections->SSH2
2)点击浏览选择文件夹,格式一般如图所示,.SSH是一个隐藏文件夹,没有的可以自己新建设置隐藏。
3)在Key Management页,选择点击 Generate DSA key生成秘钥并填上password然后保存到上面的文件夹中。
Git远程库的搭建
一般公司都有自己的远程库,这里我们个人练习使用,我们主要介绍github,实际操作差不太多,万变不离其宗。
github官网 :https://github.com/
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

点“Add Key”,你就应该看到已经添加的Key:

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。
如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。
接着,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库,然后在Repository name填入“仓库名”,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库。
在右上角的花色图案中点击your profile可以看到属于你的几个仓库。
点击进入仓库可以看到仓库的URL,用来推送和克隆。(命名规则是https://github.com/用户名/仓库名.git 可以记下)
Egit的常用操作
1.打开eclipse新建一个项目,或者把你之前写好要提交的项目。右键:team-共享目录(版主用的中文版,你们自行翻译)。
2.照着下图两把勾都打上,如果xxxx的勾打不上就点击下面的create repository,然后确定。这样,你就将自己的项目变成git项目。
3.在对代码进行修改后,右键team就会发现样子变了。点击第一个commit进行项目的从本地工作区到暂存区提交。
4.弹框如图,unstage change是不要提交的代码,stage changge是你需要提交的代码,把需要提交的代码点住左键拖到下面框,然后输入message(本次提交的信息,一般填写修改了内容。 如:对登录界面进行了优化。)就可以提交了。

5.再次右键team--》push Branch**可以将项目推送到远程仓库。URI填写上面带你看的库的URL,自动生成的Host和path,将用户名和密码填好就可以推送了。注意:SSH码一定要正确。

补充
1.标记:j2ee工作空间中有改动未commit的项目会在对应文件前有?提示,comiit未push的会有>标记
2.克隆到本地:Window->perspective->打开透视图(自行翻译#可爱)->Git,点击下图图标,同样的参数就可以克隆库中项目到本地了哦。

这里的地址一定要填写自己eclipse的工作空间并打上勾。从库下载到本地之后在git视图直接右键就可以import到j2ee视图进行编辑了

版本控制器——Egit使用方法的更多相关文章
- cvs版本控制器
CVS 版本控制器 首先我们要来明确 :为什么要学习CVS •项目开发靠的是一个团队的能力,很少有大中型项目是由个人完成的.对于团队开发来讲---能控制每个人的分工和权限, 可以让多个人同时编辑同 ...
- 【原创】Git版本控制器的基本使用
关于git Git,是一个分布式版本控制软件.最初本是为了更好的管理Linux内核开发而被林纳斯·托瓦兹开发,后来因为项目开发中版本控制的强烈需求,而git也日趋成熟,最终成为了一个独立的版本控制软件 ...
- 版本控制器:SVN
版本控制器:SVN 开发中的实际问题 小明负责的模块就要完成了,就在即将Release之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流--需求之一:备份! 这个项目中需要一个很复杂的功 ...
- 新手向--git版本控制器
body { width: 70%; border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto } body .mar ...
- Ubuntu 16.04系统下安装RapidSVN版本控制器及配置diff,editor,merge和exploer工具
在Window下我们使用TortoiseSVN(小乌龟),可以很方便地进行查看.比较.更新.提交.回滚等SVN版本控制操作. 在Linux下我们可以使用RapidSVN.RapidSVN是一款轻量级的 ...
- 细说GIT分布式版本控制器
一.Git介绍 Git是目前世界上最先进的分布式版本控制器.Svn CVS 版本控制器:就是用来追溯自己书写的代码的记录信息.好处:可以非常方便的记录何时何地何人操作了哪些代码. 什么是分布式版本控制 ...
- Linux——Django 开发环境部署(二)python版本控制器pyenv
python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...
- 你了解SVN, CVS等版本控制器吗?
版本控制器SVN, CVS是两种版本控制器, 需要配套相关的SVN, CVS服务器, SCM是xcode里面配置版本控制的地方, 版本控制的原理就是A和B同时开发一个项目, A写完当天的代码之后把代码 ...
- 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组
真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳 ...
随机推荐
- eclipse 设置编辑窗口字体和背景颜色
最近装了几次系统,公司也换过电脑,所以换了几次eclipse,当然家里用的当然是最新版,公司就只有用几百年前的东西了 进入重点,我的编辑窗口习惯使用灰色的背景,感觉全白的不好看,还伤视力(没有科学依据 ...
- centos 6.5下cmake工具的安装与配置
一.cmake是什么? CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C+ ...
- 2.13. 获取托管对象(Core Data 应用程序实践指南)
用NSFetchRequest获取NSArray,里面都是托管对象.如果上下文里没有数据,就会从持久化存储区里获取. NSFetchRequest *request = [NSFetchRequest ...
- 使用(Drawable)资源———ShapeDrawable资源
ShapeDrawable用于定义一个基本的几何图形(如矩形.圆形.线条等),定义ShapeDrawable的XML文件的根元素是<shape.../>元素,该元素可指定如下属性. and ...
- js原生设计模式——6复杂对象的构建—Builder建造者模式
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- Google Analytics之增强型电子商务报告
虽然Google Analytics很多年以前就提供了电子商务报告的功能,但对于电子商务网站来说,这个报告缺失的东西还太多.而Google Analytics即将推出的增强型电子商务报告有望弥补这一短 ...
- 一起学 Java(四) File、Try 、序列化、MySQL、Socket
一.Java 流(Stream).文件(File)和IO Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持很多种格式,比如:基 ...
- 自己开发轻量级ORM(一)
在开发ORM之前,先简单的介绍下ORM的基本概念. 对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的 ...
- How To Ask Questions The Smart Way 转
先查后问多思考莫做伸手党. 原文链接 译文链接
- redisson实现分布式锁原理
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...