安装完CDT插件以后,由于需要将代码上传到远程仓库来供多人开发,选择Git远程仓库。
与svn比较,git确实要复杂很多。建议新手朋友先看《Git Pro》这本电子书,用命令行操作一下,再来使用Eclipse的git插件,这样比较容易理解。
Git服务器以OSChina为例,创建帐号,新建项目就不介绍了。
我建了一个测试项目,地址是https://git.oschina.net/pocketdigi/test.git
很多文章都说第一步是给Eclipse装EGit插件,但我的Eclipse里已经自带了Git插件,也许版本不同的缘故,所以没有这一步。
以导入现有项目为例:
我这里的项目是AndroidTest.
第一步,配置本地仓库。
项目上点右键,选择小组-共享项目(英文版请自行翻译),在弹出的对话框里选择Git(如果没有,说明没装Git插件),下一步如下
这一步是设置本地仓库的存放目录,我一般存在工作目录的子目录下,勾选Use or create repository in parent folder of project,再点击Create Repository按钮(前面勾了才会有),在项目根目录下创建.git目录用作本地仓库,再点完成。会发现包资源管理器里,AndroidTest项目图标已经改变,
第二步,提交代码到本地仓库。
在AndroidTest项目上点右键-小组-添加,将整个项目所有文件加入Git管理,然后项目上点右键-小组-落实,将代码提交到本地仓库。
第三步,配置远程仓库。
项目上点右键-小组-Remote-Push
把地址贴到URI处,再输入osc的用户名和密码,点下一步。
在Source ref上点击下拉箭头,选择refs/heads/master,Destination ref会自动填充,点击Add Spec按钮,勾选Force Update,点完成,开始提交到远程服务器。
提交完后,刷新oschina网页,可以看到相关文件。
菜单栏上点窗口-显示视图-Git Repositories,打开Git Repositories视图。展开AndroidTest,再Remote上点右键,选择Create Remote
Remote name,随便输入一个名字,一般是origin,选择Configure push,确定,弹出下如
点击更改,输入URI,OSC用户名密码,点完成,点击Ref mapping下的Edit(Advabced)…,弹出Push Ref Specifications对话框,点击Add All Branches Spec,不要勾选Force Update(勾了以后,即使服务器上有更新,也会提交成功),再点完成(如果之前没有先提交代码到服务器,这里过不去,因为服务器上没有任何分支)。点保存。设置成功后,如下图:
,这里只是配置了Push,虽然自动添加了fetch,但我这个版本的git插件并没有配置fetch的Ref map,需要在包资源管理器上,项目上点右键,小组,Remote,Configure Fetch from upstream…配置Ref map
在Git Repositories视图中,在AndroidTest上点右键,选择Open Properties View(版本不同可能不一样,就是打开属性),会显示一个属性的视图,某些版本可能是对话框.
点击String Value右边的编辑按钮,弹出属性编辑对话框。
点击New Entry按钮,添加两条属性:
Key = branch.master.remote Value = origin
Key = branch.master.merge Value = refs/heads/master
配置完成。
当在本地修改过代码后,需要提交到服务器,如果服务器上的相关代码已经被修改(别人提交过),需要先从服务器pull下最新的代码,解决冲突,才能提交。
获取远程服务器代码:小组(项目上右键点击操作省略不写,下同)-Pull
代码提交到本地仓库:小组-落实
标记冲突已经解决后:小组-添加(之前介绍git命令的文章说过,git add不同的情况功能不同)
提交到远程服务器:小组-Push to upstream
基本流程应该是:改代码,pull,解决冲突,标记冲突已经解决,commit(提交到本地仓库),push(提交到远程仓库)