问题描述
|
一个简单的例子。我对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编辑更改的可能性。官方文档中对此功能进行了详细描述。
查看差异时,只需单击编辑按钮:
根据需要编辑文件,然后保存文件。您可以编辑多个文件,然后单击“发布编辑”以创建新的补丁集。