我了解到git具有不同文件状态的概念: 1.新的 2.修改 3.上演 4.承诺
经过大量搜索后,我发现如果我想向任何工具发送代码审查,我必须提交本地存储库并将其推送到某个中央存储库进行代码审查(通过任何代码审查工具)例如Gerrit)。
现在,假设文件在开始代码审查过程之前处于状态A,并且它经过了10次审核返工,即10次更改,即10次提交到本地存储库,最后文件处于状态B,最终应该提交。< / p>
从状态A到B 10完成了提交。
假设这些10个,4个提交在同一部分/文件的一部分。
所以,最后,当我将审查并接受文件的最终状态B推送到主中央存储库时,我将不得不进行10次提交,其中一些中间提交需要返工,即不需要的提交。
但我不想要那些不必要的提交。
从我能想到的是,我感兴趣的是最终状态B只需一次提交即可推送到存储库。
所以我正在寻找任何这样的方法/工具,它允许发送git阶段的更改以供审核。审稿人将审查。如果他拒绝并建议一些更改,那么我会取消之前的更改。应用建议的更改,暂存这些更改并再次发送以供审核。
因此,当最终审核代码时,我将进行单个提交我的分阶段更改,并且只需要单个最终推送。
答案 0 :(得分:2)
无法在git存储库中推送未经修改的更改。 但是,您可以使用不同的分支来实现您想要的。 您可以在开发分支上工作,并根据需要进行尽可能多的提交。 您可以将它们推送到远程服务器上的某个开发分支。 审阅者接受更改后,您可以将提交合并到主分支中。 如果需要,可以将git rebase用于merge提交到单个提交中。
答案 1 :(得分:1)
$('.newQuestion').on('click', function() {
var template = document.querySelector('#newQuestion');
var clone = document.importNode(template.content, true);
$(clone.childNodes).hide().appendTo('.questionsList').fadeIn();
});
这会将您的隐藏索引推向可审核
以下是使用独特创建的独立分支更好的原因:
对我来说,我不觉得我真的需要“说服”任何人使用分支代替,因为每个尝试使用这种(或其他方式)的藏匿处的人都会自己想出正确/更好/更容易方法是只使用侧枝进行工作/代码审查。又名git push origin stash@{0}^1:refs/heads/tmp/for-code-review
答案 2 :(得分:0)