如何使用另一个提交但不将其合并到我的补丁中来开发代码

时间:2018-11-13 15:47:31

标签: git gerrit

我正在尝试在自己的开发分支D上开发自己的代码。我无法使用master代码进行测试,因为最近有人引入了一个会干扰我的代码的错误(称为提交B)。现在,当他们努力修复错误并向前移动代码时,另一类人已经将补丁发布到我们的Gerrit服务器R中,该补丁还原了补丁B。因此,我可以选择使用cherry-pick或下载,pull或format-patch来获取R,如果这样做,我可以很好地开发和测试自己的代码。

问题是,在某些时候我将要提交自己的补丁以供审核。我不想干扰任何人的文件,所以我不想R中的更改包含在我自己的提交中。

我一直在做的是:

  1. 编辑我自己的代码
  2. 将我的更改提交到开发分支D
  3. 使用git rebase -i HEAD~2压缩我以前的工作中的这些更改
  4. 樱桃选择还原补丁R
  5. 构建并测试我的代码
  6. 使用git rebase -i HEAD~2从我的本地代码中删除提交R
  7. (现在我可以随意推送更改或返回到#1并进行迭代)

我的问题是,我可以从该工作流程中削减步骤4和#6,并且仍然返回到我可以推送的内容而又不干扰其他修复错误B的工作吗?

目前R中涉及的文件与我自己的工作之间没有重叠,并且我不认为可能会改变。

1 个答案:

答案 0 :(得分:0)

我认为解决方案可能只是继续处理本地存储库中R中的更改,在最终提交代码进行审核之前,请再次尝试选择B补丁。那应该把他们的文件放回原来的状态,这意味着我的补丁只会更改我的文件。而且我是否在其他团队针对他们的错误提交修复之前或之后提交此代码都没关系,因为我的补丁程序不会触及他们的代码。