我现在正在学习Gerrit (这是我使用的第一个代码审查工具)。Gerrit需要经过审核的更改才能包含一个单独的提交。我的特性分支大约有10次提交。
格瑞特-更喜欢的方法是把这10次投球挤成一次.但是,如果提交将合并到目标分支中,则该特性分支的内部历史记录将丢失。例如,我将无法使用git-bisect对这些提交进行均分。我说的对吗?
我有点担心这种状况。这种选择的理由是什么?在格瑞特有没有办法做到这一点而又不失去历史呢?
发布于 2012-06-15 22:36:09
当代码评审是预提交(git情况下的预推)钩子时,它的效果最好。如果在您的十个提交中的第五个中遇到一个错误,您将如何修复它(保存历史)?当然,您可以创建另一个主题分支,修复提交,选择剩下的5个提交并重新发送差异以供评审,但这非常复杂(尽管您可以为它编写一个脚本)。
对单个回购所做的更改应该理想地保持其状态(例如,不破坏构建、测试等)。因此,如果您的更改是这样做的,它们可以单独审查,否则,压缩它们将比留下回购不一致。
您可以在bug跟踪器中创建一个bug,并在每次提交中添加一个引用,以便审查员和未来的读者知道您试图实现的全部目标。
发布于 2013-09-16 14:11:34
那么继续集成呢?您在一个特性分支上进行了10次提交,它将立即“发布”--这将对应该检查这些提交/更改的其他人产生巨大的影响。
但是,如果提交包含单独的代码修改,则值得推送10次提交。但是,如果提交包含对单个功能的连续修改(因此大多数提交只是函数定义的持续实现的更正或中间状态),那么最好将它们压缩到单个提交中。
一般来说,请仔细考虑一下--代码修改的大小是多少,可以很容易地查看。
注意: Gerrit不只是用于检查代码--更改应该触发几个验收测试。(单元测试,烟雾测试)所以,如果你有这些,那么就更难发布错误的代码。因此,从这个角度来看,提交应该包含这些值得测试的更改。
所以格瑞特强迫你不要做太小太大的改变。(您将使用--amend不仅更正已经推到Gerrit的更改,而不是更正您想要进行审查的提交)
https://softwareengineering.stackexchange.com/questions/153094
复制相似问题