11_Eclipse中演示Git版本的创建,历史版本的修改,创建分支,合并历史版本和当前版本
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版本的创建,历史版本的修改,创建分支,合并历史版本和当前版本的更多相关文章
- 10_Eclipse中演示Git冲突的解决
1 在user1中的readme.txt文件里先改动,而且commitand push 选中user1,右击team->Commit-à watermark/2/text/aHR0cDov ...
- git 使用详解(5)-- get log 查看提交历史【转】
转自:http://blog.csdn.net/wh_19910525/article/details/7468549 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 限制 ...
- git 使用详解(5)—— get log 查看提交历史
git log 查看 提交历史 在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看. 接下来的例子会用我专门用于演示的 simplegit 项目,运行下面 ...
- mzy git学习,分支以及分支合并(四)
git 鼓励大量使用分支:最后进行master和分支之间的合并 git branch git branch 查看当前有多少分支,并且将当前在使用的分支用*标注出来. [一定要注意git的分支有从属概念 ...
- 关于SVN版本分支合并的知识
分支的合并类型 合并的工作是把主干或者分支上合并范围内的所有改动列出,并对比当前工作副本的内容,由合并者手工修改冲突,然后提交到服务器的相应目录里.如果当前工作副本是主干,则合并的范围是分支上的改动, ...
- 详解在Visual Studio中使用git版本系统[转]
这篇教程的预期,是希望没有任何版本使用基础的新手也可以掌握,所以细节较多,不当之处,欢迎指正. 一 .安装 git 开发工具 如果要使用 git 进行版本管理,其实使用 git 命令行工具就完全足够了 ...
- 详解在visual studio中使用git版本系统(图文)
很多人已经在使用git(或正在转移到git上),在github.com上,也看到园子里不少同学的开源项目,非常不错.但相关教程似乎不多,所以趁着我自己的开源项目源码托管(https://github. ...
- 在visual studio中使用git版本系统(zz)
第一部分: 安装 git 开发工具 如果要使用 git 进行版本管理,其实使用 git 命令行工具就完全足够了,图形化工具(无论是 git extentions ,还是TortoiseGit),都只不 ...
- 【学习总结】Git学习-参考廖雪峰老师教程三-创建版本库
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
随机推荐
- OSTC 2015
上周六去北京参加了OSTC 2015开源技术大会,并分享了<Spark技术内幕>,主要涵盖了Spark Core的核心实现.我主要以WordCount为例,讲解了任务调度的具体实现,资源分 ...
- Linux for sougou ping yin (http://pinyin.sogou.com/linux/help.php)
安装指南 Ubuntu / Ubuntu Kylin 14.04 LTS 版本 只需双击下载的 deb 软件包,即可直接安装搜狗输入法. Ubuntu 12.04 LTS 版本 由于 Ubuntu 1 ...
- 看见的力量 – (II) 影响地图
本文转自台湾的李智桦老师的博客,原文地址 Impact Mapping 真是令人惊艳的可视化工具.等你看完这篇文章,你会爱上它的. 典故 继2011年6月Example of specificatio ...
- iOS下JS与OC互相调用(六)--WKWebView + WebViewJavascriptBridge
上一篇文章介绍了UIWebView 如何通过WebViewJavascriptBridge 来实现JS 与OC 的互相调用,这一篇来介绍一下WKWebView 又是如何通过WebViewJavascr ...
- 验证码程序Demo
小伙伴都有这样的经历,册各种网站,总是输不对验证码,双十一那天狂买的小伙伴是不是对输入验证码有着不一样的感触呢,以前觉得验证码真是个麻烦鬼,一个不小心,一个眼拙,哎呦,没有输入正确,又是一阵子大眼瞪小 ...
- Mac版Android Studio的安装和使用
Android Studio已经出来很长时间了,据说谷歌会逐步放弃对Eclipse的支持,而把心思完全放在Android Studio上,鉴于Eclipse的各种不稳定,或许这将成一种趋势,因此,没事 ...
- 【java虚拟机序列】java中的垃圾回收与内存分配策略
在[java虚拟机系列]java虚拟机系列之JVM总述中我们已经详细讲解过java中的内存模型,了解了关于JVM中内存管理的基本知识,接下来本博客将带领大家了解java中的垃圾回收与内存分配策略. 垃 ...
- UNIX环境高级编程——实现uid to name
setpwent()用来将getpwent()的读写地址指回文件开头,即从头读取密码文件中的账号数据. strcut passwd * getpwent(void); getpwent()用来从密码文 ...
- C++之多态性与虚函数
面向对象程序设计中的多态性是指向不同的对象发送同一个消息,不同对象对应同一消息产生不同行为.在程序中消息就是调用函数,不同的行为就是指不同的实现方法,即执行不同的函数体.也可以这样说就是实现了&quo ...
- PO核准通知界面修改
想在notification頁面把供應商的稅捐代碼帶出來,添在如下紅框中 PO_WF_PO_NOTIFICATION head information:get_po_approve_msg line ...