zoukankan      html  css  js  c++  java
  • gerrit submit type 解析(gerrit提交为什么会自动产生一条merge记录)

    如标题描述,最近关于这个gerrit的submit type的设置引起了一个问题,我大概模拟了下开发的提交场景,如下:

    开发A和开发B都在修改仓库repo_test的代码,开发A修改test1.txt 然后提交到gerrit上,并在gerrit上合入了这个提交(commitA),开发B没有执行git pull, 直接修改了test2.txt, 这个test2.txt和test1.txt没有任何关联性,是完全不相关的模块,然后开发B提交gerrit,然后gerrit上合入了这个提交(commitidB),此时,由于开发B的这个提交相对服务器少了开发A的改动提交,就自动生成了一条merge(叫commitB+吧),比如如下:

     以上,B+是自动生成的merge,这个自动merge的记录在gerrit上是看不到的,真正的修改是在B,所以开发在gerrit上找到B,让我(职位:CM)在B节点标记tag,我在B标记tag后打包(我执行git checkout B),发现没有A的修改了,这就出问题了!!!但是git checkout B+就有A的提交!!

    懵逼中。。。。

    然后发现,是因为开发B没执行git pull ,没把A的改动带进去,所以提交的时候就自动产生了这个merge的提交记录,话说,使用rebase就不会产生,但是怎么搞呢?

    然后发现了gerrit的submit type 可以控制

     默认的是“Merge if Necessary”, 这个就是在有差异的时候自动生成一条merge记录

    所以换成“Rebase if Necessary”,这个会自动rebase,不会自动产生merge记录

    如下是gerrit换成“rebase if Necessary”的提交记录:

  • 相关阅读:
    DOM 文本节点 、节点列表
    haslayout综合【转】
    css兼容性详解
    重温textjustify:interideograph
    掌握三点即可轻松打造出良好的交互设计效果
    ASP.NET 中的正则表达式
    Net中的反射使用入门
    ASP.NET2.0页面状态持续[转]
    使用XmlTextWriter对象创建XML文件[转]
    判断SQLSERVER数据库表字段为空的问题
  • 原文地址:https://www.cnblogs.com/zndxall/p/13207232.html
Copyright © 2011-2022 走看看