| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
13年前发布

EEclipse上GIT插件EGIT使用手册之十_Rebase和Merge如何选择的简单解析

     <p>此小结为什么说是简单解析呢,因为rebase和merge的选择问题讨论比较激烈,笔者也没有一个定论,而且git也处于研究发展阶段,很多理论还没有完全的纯熟。</p>    <p>对于一个多人开发团队频繁提交更新的情况,如果使用merge会使得历史线图非常复杂,并且merge一次就会新增一个记录点,如果使用rebase就是完全的线性开发。</p>    <p><img alt="EEclipse上GIT插件EGIT使用手册之十_Rebase和Merge如何选择的简单解析 " src="https://simg.open-open.com/show/16e9ac13c84189855f9ac39462818655.png" width="422" height="552" /></p>    <p>上图所示是Merge和Rebase的两个结果,显然你不想要merge的混乱结果吧,你能告诉我merge图中那条线是master分支吗?</p>    <p>所以给出如下建议,如果同一文件反复修改或提交次数比较多,预期会出现很多的conflict,那么可以使用merge合并,仅需要解决一次冲突即 可(不过,大范围主题式的修改,是不是应该事先就新开一个分支呢?);如果修改范围小,预期conflict少,则建议使用rebase。</p>    <p>EGIT中默认的pull操作是Fetch+Merge,如果要用rebase,可以分开操作。先执行Fetch更新remote tracking,再执行rebase进行合并(下一小节将介绍rebase操作)。或者修改pull的默认操作,在.git/config文件中配置:</p>    <p><img alt="EEclipse上GIT插件EGIT使用手册之十_Rebase和Merge如何选择的简单解析 " src="https://simg.open-open.com/show/882d0d70d158b5d4d0380cd62926f130.bmp" width="358" height="84" /></p>    <p>上述配置只对mirror分支有效,也可做全局配置,在$HOME/.gitconfig中配置,windows系统如果没有配置HOME变量的话就默认在$documents and settings/ USER目录下:</p>    <img alt="EEclipse上GIT插件EGIT使用手册之十_Rebase和Merge如何选择的简单解析 " src="https://simg.open-open.com/show/546d80b5206ce31ec5a5cb298aa0898d.bmp" width="356" height="50" />     
 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1328435920046.html
Eclipse Git 版本控制系统