可以在不修改/压缩提交的情况下将补丁集添加到Gerrit审阅中

问题描述

| 一个简单的例子。我对Gerrit进行了更改,这中断了CI的构建或审核者不满意。 然后,我通过另一次提交修复更改。在许多情况下,这是一个很小的补丁集,我不希望对其进行新的Gerrit审阅,而希望将其作为原始审阅中的新补丁集。 我知道可以使用ammend或rebasing和squashin来实现。 这是唯一的选择吗?我们有点担心必须使用重新基准化和压缩来重写历史记录。 谢谢, iao     

解决方法

        
git commit --amend
效果很好;大多数时候我们是如何做到的。     ,        在Gerrit邮件列表中对此进行了讨论:http://groups.google.com/group/repo-discuss/browse_thread/thread/fc4246f02b77aa9a     ,        Gerrit的“修补程序”是要代替要检查的原始更改的替代品,而不是儿童提交的内容。第二个和后续补丁不是重写历史,它们是当前的替代。这样的“修正案”是合适的,因为还没有历史记录。 重新基准化意味着您更改了原始作品的沿袭。修改还会进行新的提交,因此也会出于法律目的提交提交时间戳,但不会更改沿袭。 如果要将CI建在\“ integration \\”分支上并接受不稳定期,则可以先提交\“ fix \”进行审核,并出于明智的考虑对变更提交进行\“ Try build \”。 ,并且只有在合并这些评论时才创建CI。这将意味着永远不需要更改历史记录,但是当您反复进行各种设计中的清洁度尝试时,您可能会获得更多的历史记录。 Gerrit / Git允许进行重写,以便不太在乎来源的开放源代码可以保留整整齐齐的历史。关心的企业可以使用更准确的历史记录方法。     ,        可能值得注意的是,从2.11版(2015年4月发布)开始,Gerrit提供了使用Web UI编辑更改的可能性。官方文档中对此功能进行了详细描述。 查看差异时,只需单击编辑按钮: 根据需要编辑文件,然后保存文件。您可以编辑多个文件,然后单击“发布编辑”以创建新的补丁集。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...