版本控制器——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地址大小写设置 ⑨空操作空控制器 ⑩项目分组
真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳 ...
随机推荐
- php 显示sqlserver二进制图片
<? header("Content-type:image/ "); // Server in the this format: \ or // , when using a ...
- xml文档PHP查询代码(学习使用)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org ...
- 使用滚动条(ActionBar)
活动条(ActionBar)是Android3.0的重要更新之一.ActionBar位于传统标题栏的位置,也就是显示屏幕的顶部.ActionBar可显示应用的图标和Activity标题——也就是前面应 ...
- 天兔(Lepus)监控系统慢查询分析平台安装配置
被监控端要安装pt工具 [root@HE1~]## yum -y install perl-IO-Socket-SSL [root@HE1~]## yum -y install perl-DBI [r ...
- easelJS入门、事件、spritesheet
easelJS入门.事件.spritesheet <%@ page language="java" contentType="text/html; charset= ...
- ASP.NET Zero--13.一个例子(6)商品分类管理-删除分类
1.添加按钮 首先添加一个删除按钮,打开文件Index.js[..\MyCompanyName.AbpZeroTemplate.Web\Areas\Mpa\Views\Category\Index.j ...
- 在Android中用Kotlin的Anko运行后台任务(KAD 09)
作者:Antonio Leiva 时间:Jan 19, 2017 原文链接:https://antonioleiva.com/anko-background-kotlin-android/ Anko是 ...
- Codeforces758C
C. Unfair Poll time limit per test:1 second memory limit per test:256 megabytes input:standard input ...
- POJ1200(hash)
Crazy Search Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 27536 Accepted: 7692 Des ...
- 不要怂,就是GAN (生成式对抗网络) (四):训练和测试 GAN
在 /home/your_name/TensorFlow/DCGAN/ 下新建文件 train.py,同时新建文件夹 logs 和文件夹 samples,前者用来保存训练过程中的日志和模型,后者用来保 ...