Git是当前最流的行分布式版本控制工具,而作为最主流的(没有之一)Java开发工具Eclipse以插件的形式对其提供了支持,那就是Egit。这里介绍一下我使用Eclipse的EGit管理Git远程项目的过程。当然,这可能不是最佳实践,但是通过我的验证这么做的确是没有问题的。网上得来终觉浅,绝知此事要躬行。
预备:
系统环境:Windows XP/Windows8.1
安装Eclipse:怎么做不用我再说了吧
安装 Egit:我这里使用的是Eclipse 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:[email protected]、Key:user.name/Value:大漠真人,当然你要换成你自己的信息。
点击Apply完成配置。这里Git的配置就算完成了。
特别说明:Egit就是git的一个客户端,我这里不需要再安装任何其他的Git客户端了,看到网上很多人写这里还要安装诸如msysGit、TortoiseGit等GUI客户端,这些都是谣传。如果你确实需要的话,你可以安装。
配置SSH:
配置SSH Home路径:当然这里还是使用Eclipse自带的SSH2工具,网上还是有很多谣传:Eclipse的SSH不要用,要是Git GUI的SSH命令行。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的远程仓库管理为例,其他仓库项目方法类似。
添加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地址:[email protected]: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 * 转化成你所需要的项目类型。如果已经是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 自己探索吧。
初次使用,不一定是最佳方式,欢迎大家指正!
【注】本文转自:http://my.oschina.net/China2012/blog/174874