Eclipse中使用版本控制----Git
之前在做软件开发的过程中使用的版本控制软件大多是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取回最新代码,进行简单修改即可。
Eclipse中使用版本控制----Git的更多相关文章
- Eclipse中如何安装Git插件
现在的Eclipse一般都自带Git插件. 检查Eclipse是否有Git插件: 方法一:Help—>About Eclipse,出现下面的图标,说明Eclipse中已有Git插件,就不用安装了 ...
- eclipse中怎么导入git库下载下来的web项目
总的看来是有两种方式: 方式一:可以对已经从版本库下载到本地的项目操作(Maven导入) 你可以通过公司提供的内部的版本库的网址登录版本库,之后在里面下载自己想要的那个版本的代码包,见下图 点击右侧的 ...
- Git学习笔记(2)-Eclipse中Git插件使用
目前我使用的Eclipse luna版本中已经集成了git插件,这里就不介绍如何安装Git插件了,不懂可以看其他的博客. 上篇笔记介绍了Git的基本指令,实际开发中我基本都使用eclipse插件进行代 ...
- 09_EGIT插件的安装,Eclipse中克隆(clone),commit,push,pull操作演示
1 下载EGIT,下载地址:http://www.eclipse.org/egit/download/ 最终的下载地址: http://www.eclipse.org/downloads/dow ...
- [转]git在eclipse中的配置
一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EGit 二_使用EGIT前的配置 配置个 ...
- 【转】git在eclipse中的配置
原文网址:http://www.cnblogs.com/zhxiaomiao/archive/2013/05/16/3081148.html 一_安装EGIT插件 http://download.ec ...
- git在eclipse中的配置 转载
git在eclipse中的配置 转载 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EG ...
- Git在eclipse中的配置
1:git在eclipse中的配置 windows - >preferences->team->git->configuration 点击add Entry key值:输入 u ...
- 在eclipse中通过git添加Maven 多重项目时会遇到的问题
最近,项目换到了使用git作版本控制.于是就开始了,拉代码,测试的时候了. 再过程中遇到两个问题: 1.下载下来的不是项目,只是文档,转换为Maven项目之后 pom.xml报错(org.codeha ...
随机推荐
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager 类,用 ...
- cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(三)-按键处理
在地图初始化好了之后,就开始移动马里奥吧,我在windows下,是使用键盘来移动马里奥的 w是跳,d是前进,a是后退,那么在程序里是怎么来获取这个按键的呢? 普通的windows程序,在按键之后,会有 ...
- Problem 2169 shadow
Problem 2169 shadow Accept: 141 Submit: 421 Time Limit: 1000 mSec Memory Limit : 32768 KB Pr ...
- PHP - 抓取电视剧资源
<?php /** * 获取下载url * @return [type] [description] */ function getVedioDwonloadUrl() { for ($i=1; ...
- C++ cout 如何保留小数输出
参考 : http://upliu.net/how-cout-out-2-precision.html 大家都知道用 C 语言中 printf () 函数可以非常方便控制保留 几位小数输出 不过在 C ...
- Ural 1319 - Hotel
You programmers are lucky! You don't have to deal with these terrible people – designers… This st ...
- 使用线程新建WPF窗体(公用进度条窗体)
使用线程新建窗体 项目中需要一个公用的进度条窗体.大家知道在wpf中,有两个线程,一个是UI线程,另一个是监听线程(一直监听用户的输入).如果我们后台有阻塞UI线程的计算存在,那么界面上的比如进度条什 ...
- div无法触发blur事件解决的方法
默认情况下div无法获取焦点,无法触发focus与blur事件,推測span,a等标签也无法触发焦点事件(input:button.及button标签能够触发) 怎样使div触发blur事件:能够给d ...
- Android平台调用Web Service:演示样例
近期在学习Android,随着移动设备的流行,当软件走上商业化的道路,为了争夺市场,肯定须要支持Android的,所以開始接触了Android,只是仅仅了解皮毛就好,由于我们要做管理者嘛,懂点Andr ...
- Mysql 连接查询 Mysql支持的连接查询有哪些
CREATE TABLE `chx` ( `id` VARCHAR(20) NOT NULL, `name` VARCHAR(50) DEFAULT NULL, `name2` CHAR( ...