我了解到git有不同的文件状态:
1. 新建 2. 修改 3. 暂存 4. 已提交
经过大量查询,我发现如果我想将代码发送到任何工具进行代码审查,我必须在本地仓库中进行提交,并将其推送到设置为代码审查的某个中央仓库(例如Gerrit)。
现在,假设在开始代码审查流程之前文件处于状态A,然后它经历了10次重新设计,即10次修改,即10次提交到本地仓库,最终文件处于状态B,应该最终提交。
从状态A到B需要进行10次提交。
假设其中有4次提交是针对文件的同一部分进行的。
因此,当我将已审核和接受的文件的最终状态B推送到主中央存储库时,我将不得不进行10次提交,其中一些中间提交需要重新设计,即不需要的提交。
但我不想要那些不需要的提交。
我认为我感兴趣的是将最终状态B推送到仓库的方法/工具,只需要一次提交。评审人将进行审查。如果他拒绝并建议进行更改,则我会取消暂存以前的更改。应用建议的更改,暂存这些更改,再次进行审查。
因此,最后如果代码评审人员接受,我将使我的暂存更改为一个提交,并且只需要进行一次最终推送。
1. 新建 2. 修改 3. 暂存 4. 已提交
经过大量查询,我发现如果我想将代码发送到任何工具进行代码审查,我必须在本地仓库中进行提交,并将其推送到设置为代码审查的某个中央仓库(例如Gerrit)。
现在,假设在开始代码审查流程之前文件处于状态A,然后它经历了10次重新设计,即10次修改,即10次提交到本地仓库,最终文件处于状态B,应该最终提交。
从状态A到B需要进行10次提交。
假设其中有4次提交是针对文件的同一部分进行的。
因此,当我将已审核和接受的文件的最终状态B推送到主中央存储库时,我将不得不进行10次提交,其中一些中间提交需要重新设计,即不需要的提交。
但我不想要那些不需要的提交。
我认为我感兴趣的是将最终状态B推送到仓库的方法/工具,只需要一次提交。评审人将进行审查。如果他拒绝并建议进行更改,则我会取消暂存以前的更改。应用建议的更改,暂存这些更改,再次进行审查。
因此,最后如果代码评审人员接受,我将使我的暂存更改为一个提交,并且只需要进行一次最终推送。