我正在尝试在自己的开发分支D
上开发自己的代码。我无法使用master
代码进行测试,因为最近有人引入了一个会干扰我的代码的错误(称为提交B
)。现在,当他们努力修复错误并向前移动代码时,另一类人已经将补丁发布到我们的Gerrit服务器R
中,该补丁还原了补丁B
。因此,我可以选择使用cherry-pick或下载,pull或format-patch来获取R
,如果这样做,我可以很好地开发和测试自己的代码。
问题是,在某些时候我将要提交自己的补丁以供审核。我不想干扰任何人的文件,所以我不想R
中的更改包含在我自己的提交中。
我一直在做的是:
D
git rebase -i HEAD~2
压缩我以前的工作中的这些更改R
git rebase -i HEAD~2
从我的本地代码中删除提交R
我的问题是,我可以从该工作流程中削减步骤4和#6,并且仍然返回到我可以推送的内容而又不干扰其他修复错误B
的工作吗?
目前R
中涉及的文件与我自己的工作之间没有重叠,并且我不认为可能会改变。
答案 0 :(得分:0)
我认为解决方案可能只是继续处理本地存储库中R
中的更改,在最终提交代码进行审核之前,请再次尝试选择B
补丁。那应该把他们的文件放回原来的状态,这意味着我的补丁只会更改我的文件。而且我是否在其他团队针对他们的错误提交修复之前或之后提交此代码都没关系,因为我的补丁程序不会触及他们的代码。