什么是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视图进行编辑了