1 执行以下案例:

某研发团队2011年初开发了一款名为Apollo的信息系统,目前已发布v1.0版本。此项目初期已有部分基础代码,

研发团队再此基础代码上经过3个月的努力发布了一个功能相对完备的Apollo 1.0版本进行销售。

由于销售业绩良好,因此研发团队正在着手v2.0版本的开发工作。

但就在这个时候,有客户发现v1.0软件系统一严重bug,如不及时修复将造成严重后果。

研发团队收到bug报告后立刻安排部分研发人员对v1.0版本进行修复,但其他研发人员则继续开发v2.0版本的新功能。

修复bug的研发人员很快扎到问题原因并对问题代码进行了修复,很快发布了v1.1版本发给了客户,因此没有造成重大损失。

Bug修复后研发人员将修复后的代码整合到研发主线中来,这样就可以保证今后发布的后续版本不会再出现此问题。

就这样研发团队在大家的共同努力下工作有条不紊的进行着

2 创建一个Apollo的仓库

3 Eclipse连接到这个库

点击”Finish”

右击,导入工程:

然后在张三里面创建一个User.java

public class User {

private String name;

private int age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.name = name;

}

}

接着Commit and Push

4 再克隆一个库,名称为李四(表示供李四使用)

然后import project

点击下一步,出现以下错误:

上面的窗口说明有一个.project文件存在于”E:\software\developer\lisi”.这时候解决办法是将lisi这个文件夹里面的.project文件删除,然后再“Back”一下,

删除上面的.project,点击back按钮之后再点击”Next”,发现:

然后点击”Finish”

5 接着在张三的基础上发布一个版本。再次之前请先将张三这个版本中的内容commit and push

接下来开始设置版本,也就是说创建Tag。

创建Tag V1.0

点击Create Tag

这时候到Git视图,发现如下:

6 在lisi中,右击项目,先pull一下,这时候先在lisi中添加一个字段,这时候User.java中的代码如下:

public class User {

private String name;

private int age;

private String xiaosan;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.name = name;

}

public void setXiaoSan(String xiaosan) {

this.xiaosan = xiaosan;

}

public String getXiaoSan() {

return xiaosan;

}

}

接着将lisi Commit and Push到远程服务器上:

要确保lisi的代码push了,要点击lisi Commit and Push:

接下来zhangsan pull下远程服务器上的代码:

7 接下来在zhangsan的基础上,转到pull之前的版本,也就是Tag V1.0的版本上,进行修改。这时候要将zhangsan切换到Tag V1.0版本。

这时候要想修改Tag V1.0版本的内容,需要在TagV1.0的版本的基础上创建一个分支,在这个分支的基础上修改代码。

创建分支的方法是:

注意,如果选中上面的”Checkout new branch”后,这时候再次点击Finish之后,它会直接将V1.0这个分支切换到V1.0_fixup上,这时候发现项目右侧会显示v1.0_fixup,这时候发现项目的右侧会显示V1.0_fixup

再次进入Git视图,展开zhangsan—》Local,发现下面有两个分支了。

8 接下来,回到Java视图,在zhangsan的User.java中就可以在v1.0_fixup分支中开始修改这个TagV1.0版本

这时候再次查看zhangsan中的User.java如下:

修改User的内容:

接着Commit and Push项目:

这时候再次创建一个Tag版本,发布一个版本供用户使用。右击项目:

9 这时候再到Git视图,展开zhangsan---》Tag发现列了另外一个Tag

这时候V1.1拿过来之后就可以发布给客户了。

Zhangsan从当前的Tag版本回来的方式:

右击项目

这时候User.java的内容如下:

整合几个版本,方式是:

点击Merge

这时候再看User.java,如下:

合并之后,右击项目Commit and Push,选择master

点击Commit and Push

这时候lisi这个用户再pull,查看到User.java的内容如下:

11_Eclipse中演示Git版本的创建,历史版本的修改,创建分支,合并历史版本和当前版本的更多相关文章

  1. 10_Eclipse中演示Git冲突的解决

     1 在user1中的readme.txt文件里先改动,而且commitand push 选中user1,右击team->Commit-à watermark/2/text/aHR0cDov ...

  2. git 使用详解(5)-- get log 查看提交历史【转】

    转自:http://blog.csdn.net/wh_19910525/article/details/7468549 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 限制 ...

  3. git 使用详解(5)—— get log 查看提交历史

    git log 查看 提交历史 在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看. 接下来的例子会用我专门用于演示的 simplegit 项目,运行下面 ...

  4. mzy git学习,分支以及分支合并(四)

    git 鼓励大量使用分支:最后进行master和分支之间的合并 git branch git branch 查看当前有多少分支,并且将当前在使用的分支用*标注出来. [一定要注意git的分支有从属概念 ...

  5. 关于SVN版本分支合并的知识

    分支的合并类型 合并的工作是把主干或者分支上合并范围内的所有改动列出,并对比当前工作副本的内容,由合并者手工修改冲突,然后提交到服务器的相应目录里.如果当前工作副本是主干,则合并的范围是分支上的改动, ...

  6. 详解在Visual Studio中使用git版本系统[转]

    这篇教程的预期,是希望没有任何版本使用基础的新手也可以掌握,所以细节较多,不当之处,欢迎指正. 一 .安装 git 开发工具 如果要使用 git 进行版本管理,其实使用 git 命令行工具就完全足够了 ...

  7. 详解在visual studio中使用git版本系统(图文)

    很多人已经在使用git(或正在转移到git上),在github.com上,也看到园子里不少同学的开源项目,非常不错.但相关教程似乎不多,所以趁着我自己的开源项目源码托管(https://github. ...

  8. 在visual studio中使用git版本系统(zz)

    第一部分: 安装 git 开发工具 如果要使用 git 进行版本管理,其实使用 git 命令行工具就完全足够了,图形化工具(无论是 git extentions ,还是TortoiseGit),都只不 ...

  9. 【学习总结】Git学习-参考廖雪峰老师教程三-创建版本库

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

随机推荐

  1. Bootstrap3 代码-程序输出

    通过 <samp> 标签来标记程序输出的内容. This text is meant to be treated as sample output from a computer prog ...

  2. log4j日志记录级别是如何工作?

    级别p的级别使用q,在记录日志请求时,如果p>=q启用.这条规则是log4j的核心.它假设级别是有序的.对于标准级别它们关系如下:ALL < DEBUG < INFO < WA ...

  3. 序列化战争:主流序列化框架Benchmark

    序列化战争:主流序列化框架Benchmark GitHub上有这样一个关于序列化的Benchmark,被好多文章引用.但这个项目考虑到完整性,代码有些复杂.为了个人学习,自己实现了个简单的Benchm ...

  4. java中八种基本数据类型以及它们的封装类,String类型的一些理解

    在我们面试或者考试过程中经常会考到八种基本数据类型以及它们的封装类,那么有哪八种基本数据类型呢?它们的封装类又是什么呢? 首先,八种基本数据类型分别是:int.short.float.double.l ...

  5. (Java)微信之个人公众账号开发(一)——进入开发者模式

    本篇文章将教大家如何建立微信个人公众账号,(注意:后台全部是用javaweb相关技术开发),大家知道,现在微信公众账号分服务号和订阅号,现在我要讲的主要是个人微信公众账号的建立以及后台的开发,个人公众 ...

  6. WmS详解(二)之如何理解Window和窗口的关系?基于Android7.0源码

    上篇博客(WmS详解(一)之token到底是什么?基于Android7.0源码)中我们简要介绍了token的作用,这里涉及到的概念非常多,其中出现频率最高的要数Window和窗口这一对搭档了,那么我们 ...

  7. FORM内置系统变量

    常用 和输入焦点有关: SYSTEM.CURSOR_ITEM:返回系统当前正在操作的项名. SYSTEM.CURSOR_RECORD:返回系统当前正在操作的记录行号. SYSTEM.CURSOR_BL ...

  8. JBOSS EAP 6 系列五 Managed domains 管理域最主要的功能是“统一部署,统一配置”

    摘要 本文首先介绍Managed Domain的概念,管理域最主要的功能是"统一部署,统一配置".接下来通过一个实例在"统一配置"部分实现一个双机配置起来的域, ...

  9. Activity简单几步支持向右滑动返回

    向右滑动返回,对于屏幕过大的手机来说,在单手操作时,是一个不错的用户体验,用户不必再费力的或者用另一个手去点击屏幕左上角的返回按钮或者,手机右下角的返回按钮,轻轻向右滑动屏幕即可返回上一页,这个功能如 ...

  10. Dynamics CRM CRM Explorer missing from Visual Studio 2012

    CRMSDK中提供的develop toolkit工具比较适合初级开发者或者是多人团队的开发,在代码版本控制及部署上均有明显的优势. 但今天在装完这个工具后,打开vs2012可以新建一个package ...