本来想用myeclipse,奈何试过网上所列的常用方法,都无法成功安装egit插件。只得转到eclipse。话说eclipse不仅是免费的,启动也较myeclipse更为迅速,安装插件也非常顺利。使用的是eclipse java IDE for web developers. version: kepler service release 1. Build id:20130919-0819
1. 安装egit
eclipse -> help -> eclipse Marketplace,在弹出的页面上的find框内输入egit,回车。选择EGit - Git Team Provider X.X.X,点击install。图1.1中,因为eclipse上已经安装了egit,所以展示的是update和uninstall
图1.1 egit插件安装
2. 配置egit (以下内容来自:http://www.gogogogo.me/development/eclipse-egit-git.html 这是我实践出来的最靠谱的方法。其他的文章,实践时都有各种问题……)
Git是当前最流的行分布式版本控制工具,而作为最主流的(没有之一)Java开发工具Eclipse以插件的形式对其提供了支持,那就是Egit。这里介绍一下我使用Eclipse的EGit管理Git远程项目的过程。当然,这可能不是最佳实践,但是通过我的验证这么做的确是没有问题的。网上得来终觉浅,绝知此事要躬行。
- 预备:
- 系统环境:Windows XP/Windows8.1
- 安装Eclipse:怎么做不用我再说了吧
- 安装 Egit:我这里使用的是Eclipse Kepler,已经自带EGit插件,无需安装。(我的kepler没有自带egit) Kepler 之前的版本可以自行安装 Egit插件,你可以通过Eclipse Marketplace、Install New Software、手动下载使用link、或者直接放进插件目录等方式安装。
预备工作完成,不需要再安装任何东西了。下边就真正亮出招式了,看好咯。
- 第一板斧:配置环境
- 配置Git(Egit):
- 设置Git HOME:需要在系统环境变量中为Git提供一个HOME路径。这个目录将用于保存git的配置文件和默认的本地仓库。我这里使用的是F:GitHome,当然你可以设置系统盘的任意路径。
- 配置git用户信息:在eclipse 》Preferences 》Git 》Configuration 选项中配置git用户信息,在这个界面上你就可以看到eclipse使用了之前设置的HOME来保持git配置信息。在界面上选择Add Entry… 添加用户信息key: user.email/Value:good-long@qq.com、Key:user.name/Value:大漠真人,当然你要换成你自己的信息。
点击Apply完成配置。这里Git的配置就算完成了。(Location这里是email和name等信息保存的文件路径。看样子是要改为%HOME%下。实践时发现这里无法输入。于是点击open,在文件中修改保存。再次打开该页面,发现文件位置是对了,但是报错。说手动输入apply后,再回到此页面会报错。说cannot read file F:GitHome.gitconfig org.eclipse.jgit.errors.ConfigInvalidException。点击open打开文件后,删除[user]前的文件路径信息,就不会再有报错了。我想这里可能是一个bug。)
- 特别说明:Egit就是git的一个客户端,我这里不需要再安装任何其他的Git客户端了,看到网上很多人写这里还要安装诸如msysGit、TortoiseGit等GUI客户端,这些都是谣传。如果你确实需要的话,你可以安装。
- 配置SSH:
- 配置SSH Home路径:当然这里还是使用Eclipse自带的SSH2工具,网上还是有很多谣传:Eclipse的SSH不要用,要是Git GUI的SS命令行。SSH默认的Home在user/.ssh路径,为了方便管理,这里我使用了GitHome路径:F:/GitHom/.ssh。这里你依旧可以使用系统任意路径。
- 生成RSA密钥对:接下来使用Key Management 》Generate RSA Key… 生成SSH密钥,输入密码,这个密码将在使用密钥时使用,点击Save Private Key保存密钥,这时将在SSH Home下产生两个文件:id_rsa、id_rsa.pub。id_rsa是SSH密钥对的密钥,不能泄露,而id_rsa.pub是SSH的公钥,用途在下文介绍。在上一步界面中的private keys中选择这里的id_rsa文件。 点击Apply,SSH配置 完成 。
到这一步,本地配置全部完成,看第二招吧!
- 第二板斧:管理仓库
- 创建仓库:这里以http://git.oschina.net的远程仓库管理为例,你同样可以管理http://github.com、http://gitcafe.com的仓库。
- 添加SSH公钥:首先你要把你的SSH公钥添加到你git托管服务网站的SSH公钥中,SSH公钥就在.ssh/id_rsa.pub文件中。复制粘贴进去就可以了。特别注意的是:这里是用户资料下面的SSH公钥,不是项目下的部署公钥。项目的部署公钥只有读权限,没有写权限,这意味着你可以pull项目,不能push。如果这里弄错,将在push时报错:" push not permitted ",当然,这都是后话。
- 创建项目:使用git@osc菜单栏的“+”创建一个项目,填写项目信息,创建项目即可 。特别说明:“ .gitignore”文件不能空着,不然将在你clone项目的时候报错:“does not appear to be a git repository”!
- clone项目:首先复制项目的ssh地址:git@git.oschina.net:coxapp/Hello.git,然后再eclipse的git仓库管理面板clone项目到本地。
eclipse的git仓库管理面板可用window 》show view 》other 》Git 》Git Repositories 显示出来。
点击Clone a Git repository,会自动把复制的Hello项目的git信息填充到窗口中,直接点击Next。
输入生成rsa密钥时的密码,一路Next到Finish就OK了。(我实践时没有遇到这一步)
这里我们将在git仓库管理面板看到clone到本地仓库的项目信息!
至此,第二板斧就耍完了,哈哈!
- 第三板斧:管理代码
- 导入项目:File 》Import 》Git 》Project from git 》Next 》Existing local repository 选择本地的Hello项目,一路Next就完成了。
- 特别说明:如果是新建的项目,那么项目是没有初始化成eclipse项目的,在导入的时候只能导入为 generla project,然后通过项目右键 Configure 》Convert to *** 转化成你所需要的项目类型(为什么我的convert to选项里没有java project呢?)。如果已经是eclipse项目,选择Import existing project 导入即可。也可以使用 File 》Import 》Git 》Project from git 》Next 》URI 使用git项目的地址直接导入。
- push更新:上一步中从本地仓库把Hello导入并转化成java项目后,项目已经发生更新,可以使用项目右键 Team 》Commit 提交更新。使用 Team 》 Remote》Push 将更新推送到osc服务器上去了。这时就可以在http://git.oschina.net/coxapp/Hello 页面看到项目的更新了。
- pull更新:git是一个版本控制工具,为的是多人协作,每次push的时候我们先pull一下,看有没有其他人更新过代码。
- 最后说明:在上面过程中没有提到的,按照默认提示做就ok,还有怎么push和pull的详细内容以及更多git操作,给个网址http://wiki.eclipse.org/EGit/User_Guide 自己探索吧。
该push push,该pull pull,该推推,该拉拉,推拉推拉,别想歪了,哈哈,三板斧耍完了,怎么样,给力不!
参考资料:http://wenku.baidu.com/link?url=8q4xBT2rr5Gc4V8iVEjcofqgkVqnOUVISq-KplR2xh2m9kzEHHmZonQC6RlTSepaqFYF3TCwgjj8Ct0cxNW4tIuGenSJfiFIIdA47meYb-u