之前在做软件开发的过程中使用的版本控制软件大多是cvs,svn等等,这些都属于cvcs,及中央版本控制系统,其特点是存在一个中央库,开发者首先从中央库中下载代码,编辑,然后提交。很明显的一个特点就是使用cvcs类型的版本控制需要开发者都连接到中央库,所以大家需要联网,如果想在家里做开发,那么需要你的svn服务器具有真实ip。而今天我介绍的Git也是一款版本控制软件,而且已经具有代替前面两种的趋势,Git属于dvcs,就是分布式版本控制系统。也就是没有一个所谓的中央库(但是会将你的最终代码放在某一个位置,在github上提供免费注册)。比如当你从github上下载一个开源项目,那么在你的电脑上就会存在该项目的一个完整的拷贝,以后你的电脑也就成为了一个仓库,这个库和svn中的中央库功能有些类似,只不过它仅仅给你一个人用。当你开发完后,就可以将你的代码push到远程库。(呵呵,表达能力有限,不知道说清楚了没...)
ok,下面步入正题:
1、安装egit插件,这个在此不作介绍。
2、安装完后,首先需要进行配置:
window->preference->team->Git->Configuration 点击Add Entry
key user.name=*****
value user.email=***@****
用来标识某一个开发者。
3、a、新建一个java项目GitDemo,在GidDemo上面右键选择Team-->shareProject,完成之后Team->commit
b、选择项目,右键Team->commit。记住此时你的项目已经保存到本地仓库了,如上图E:GitDemo就是我的本地仓库。
c、到Github上注册一个账号,并建立一个仓库。在此不作详细介绍,我给出我自己建立的一个仓库
https://github.com/yuanzeyao2008/Hello.git
d、选中项目,右键->Team-remote->push,将你自己的仓库地址填进去,用户名和密码貌似不用填
e、下一步如图:
f、一直下一步,知道完成,完成之后你可以到github上看成功没。
下面介绍一下如何实现版本控制:
在这里,我定义两个开发者:A,B.
A和B对开源项目Open都非常感兴趣,所以他们讲该项目下载下来,并导入自己的工程,根据上面的介绍,此时在本地需要建立一个本地库:
- 导入项目:Import->Git->fromGit,出现如下界面:
在这里,由于我们使用远程库,所以选择URI,接下来的界面如下:
下一步
下一步
下一步
此处有三种方法:
- Import existing projects:如果你的库中的working Directory中的项目中有.project这个文件,那么你可以使用这个
- Use the New Project wizard,貌似相当于新建一个项目,我很少使用,不是很清楚
- Import as General Project,如果没有.project,那么可以使用这个。
完成之后,项目就导入到你的 Eclipse中了。
现在A开发者创建了一个Student类
public class Student
{
int id;
}
B开发者也开发了一个Student 类
public class Student
{
int mid;
}
但是A先提交到远程库,B后提交,如果B现在直接提交肯定是不行的,这点和svn中类似,先要取回远程库中最新代码,步骤:右键Team->pull,就行了,如果发现有冲突,右键->Team->Merge Too,这是B开发者需要和A开发者协商如何处理这个这个冲突,比如协商结果就是将id字段改为pid,然后B提交到远程服务器,这是A通过pull取回最新代码,进行简单修改即可。