什么是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使用方法的更多相关文章

  1. cvs版本控制器

    CVS 版本控制器   首先我们要来明确 :为什么要学习CVS •项目开发靠的是一个团队的能力,很少有大中型项目是由个人完成的.对于团队开发来讲---能控制每个人的分工和权限, 可以让多个人同时编辑同 ...

  2. 【原创】Git版本控制器的基本使用

    关于git Git,是一个分布式版本控制软件.最初本是为了更好的管理Linux内核开发而被林纳斯·托瓦兹开发,后来因为项目开发中版本控制的强烈需求,而git也日趋成熟,最终成为了一个独立的版本控制软件 ...

  3. 版本控制器:SVN

    版本控制器:SVN 开发中的实际问题 小明负责的模块就要完成了,就在即将Release之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流--需求之一:备份! 这个项目中需要一个很复杂的功 ...

  4. 新手向--git版本控制器

    body { width: 70%; border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto } body .mar ...

  5. Ubuntu 16.04系统下安装RapidSVN版本控制器及配置diff,editor,merge和exploer工具

    在Window下我们使用TortoiseSVN(小乌龟),可以很方便地进行查看.比较.更新.提交.回滚等SVN版本控制操作. 在Linux下我们可以使用RapidSVN.RapidSVN是一款轻量级的 ...

  6. 细说GIT分布式版本控制器

    一.Git介绍 Git是目前世界上最先进的分布式版本控制器.Svn CVS 版本控制器:就是用来追溯自己书写的代码的记录信息.好处:可以非常方便的记录何时何地何人操作了哪些代码. 什么是分布式版本控制 ...

  7. Linux——Django 开发环境部署(二)python版本控制器pyenv

    python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...

  8. 你了解SVN, CVS等版本控制器吗?

    版本控制器SVN, CVS是两种版本控制器, 需要配套相关的SVN, CVS服务器, SCM是xcode里面配置版本控制的地方, 版本控制的原理就是A和B同时开发一个项目, A写完当天的代码之后把代码 ...

  9. 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组

    真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳 ...

随机推荐

  1. Windows API 函数浏览

    AbortDoc                                          终止一项打印作业                        是         是        ...

  2. --@angularJS--简单的带嵌套的指令demo

    <!DOCTYPE HTML><html ng-app="app"><head>    <title>custom-directiv ...

  3. tomcat 错误查看

    路径 : \tomcat\logs 清除日志,重新启动生成 从上到下,依次查看错误,可以看到,上面的两个是系统的启动模块.然后第三行错误提示,明显指出了错误原因 “NoClassDefFoundErr ...

  4. Linux C++程序进行性能分析工具gprof使用入门

    性能分析工具 软件的性能是软件质量的重要考察点,不论是在线服务程序还是离线程序,甚至是终端应用,性能都是用户体验的关键.这里说的性能重大的范畴来讲包括了性能和稳定性两个方面,我们在做软件测试的时候也是 ...

  5. Weex系列一、构建Weex工程

    Weex比React Native更简单,更容易学习,并且做到真正的跨平台,一套代码可以多个平台运行.所以建议大家都用Weex吧. 一.安装Node 已经安装Node的,请忽略过去. 检查Node是否 ...

  6. SQL Server 手把手教你使用profile进行性能监控

    200 ? "200px" : this.width)!important;} --> 介绍 经常会有人问profile工具该怎么使用?有没有方法获取性能差的sql的问题.自 ...

  7. 求求别再这么用log4x了

    sl4j或者log4j中,推荐的记录方式是: private Logger log = Logger.getLogger(getClass()); //或者 private static final ...

  8. Javascript中的async await

    async / await是Javascript是ES7的重要特性之一,也是目前社区里公认的优秀异步解决方案.目前,async / await这个特性已经是stage 3的建议,可以看看TC39的进度 ...

  9. iOS-桥接方式

    很多时候都会使用到CoreFoundation的函数,其返回值为CoreFoundation框架的对象,如果想转换为Foundation框架的对象就可以使用桥接方式来搞定. 示例代码: CFStrin ...

  10. ArcGIS制图技巧系列(3)—让地图更有立体感

    ArcGIS制图技巧系列(3)-让地图更有立体感 by 李远祥 在前面的章节中,我们已经介绍过各种的地图效果,如发光效果,山体阴影效果,植被填充效果等,所有的这些效果不外乎是各种技术的叠加和技巧的使用 ...