Git为我们提供了Patch功能,Patch中包含了源码更改的描述,能够应用于其他Eclipse工作空间或者Git仓库。也就是说,可以将当前提交导出至其他分支或者项目中。

 

举个例子,项目A、B中使用了相同的JSP代码:ShowHello.jsp,当在A项目中修改了ShowHello.jsp,那么需要将这个修改复制到B项目,如果只是一个文件修改还好说,如果是多个目录下多个文件的修改就麻烦了。这是时候我们就可以用Patch,将A项目的修改同步到B项目。

 

下面说一下操作流程。

 

  1. A项目中修改完成后,进行提交(commit)和上传(push),在历史中(项目右击→Team→Show In History)可以看到本次提交与提交的文件:

  2. 图中下方方框中的三个文件就是我们修改的文件,上方方框中为我们的提交,右击选择Creat Patch…:

  3. 弹出如下窗口,在窗口中选择存储位置和文件名,默认文件名为此次commit的内容:

  4. 点击Next,到一下个页面:

  5. 按默认就可以,点击Finnish。此时在你指定的位置就生成了Patch文件。此时在项目B上右击选择Team→Apply Patch…,在弹出界面上选择刚刚生成的Patch文件,点击Next:

  6. 选择要打Patch的项目,点击Next:

  7. 重点来了,如果是是不同的项目在Patch options的Ignore leading path name segments这里要选成1(默认为0),选完之后下面框的图标中出现蓝色的箭头,双击每个文件都可以看到文本对比(Text Compare),可以看看代码是不是自己要的。最后Commit and push就可以了。

     

相对于Git,Egit提供的功能还是比较少的,但是够用。如果想对git的Patch有深入的了解,请移步老Z的博客-Git的Patch功能

 

如果在Apply Patch时中文变为乱码,则需要将生产的Patch文件用记事本打开另存为编码方式为ANSI的文件。

最新文章

  1. Linux下的几个好用的命令与参数
  2. Jquery 的事件方法
  3. oracle的存储过程和函数(PL/SQL)
  4. hdu - 4608 - I-number
  5. 关于迭代器中IEnumerable与IEnumerator的区别
  6. Ajax发送POST请求的心路历程
  7. installation failed with message null
  8. dedecms 文章内容文章名字和文章网址的调用
  9. Installing SSL on CentOS | My Virtual Time Capsule
  10. java8之stream
  11. Media Player Classic - HC 源代码分析 6:MediaInfo选项卡 (CPPageFileMediaInfo)
  12. bootstrap 无需引入 直接使用
  13. php 把数组保存为标准的数组格式,存储到文件中
  14. python 时间段的随机日期输出
  15. n的m划分 整数拆分问题
  16. 计算机爱好者协会技术贴markdown第二期
  17. canvas给图片加水印
  18. Unity射线检测的用法总结
  19. 关闭文件描述符-close
  20. September 23rd 2017 Week 38th Saturday

热门文章

  1. 1472. Martian Army
  2. 适配iOS10 的相关权限设置
  3. Swift 2.0 异常处理
  4. spring.net object 配制节点记录
  5. SharePoint Framework 配置Office 365开发者租户
  6. 关于.NET 的邮件发送类
  7. PHP下使用强大的imagick轻松生成组合缩略图
  8. html基础01
  9. python 改变字符串的编码方式
  10. 新手码农浅谈观察者模式(java语言简单实现)