PR on master "messed" 我的测试分支,我该如何解决?

PR on master "messed" up my test branch, how do I fix it?

我习惯用git。 我的正常工作流程是:

dev --> test --> master

我喜欢它,而且效果很好。

现在,在我与其他远程开发人员合作的项目中,我被指示在我们的公共存储库中包含其他人工作的拉取请求。

我收到一封 PR 电子邮件,转到 github,快速检查后点击合并按钮。然后我去了我的本地仓库,做了 ​​git pull origin master,新的变化出现在那里。一切顺利。

但这就是问题所在。我最初被要求对受 PR 影响的一些文件进行更改。我曾在 dev 上工作,并推到 test - 但不是 master.

所以自然地,mastertest有区别。我想我可以通过在 git checkout test 之后简单地发出 git merge master 来让他们离开。

令我(最初)惊讶的是,我现在在 test 中有两个变化 - 我的同事和我的,test 内部的 git diff master 显示了差异。

我现在明白了 - 我必须首先转储我过时的更改。

变得担心,并且不得不更新 dev,它有当前的变化,我现在该如何解决?我可以撤消 test 上的合并并从头开始吗?

我认为对你来说最好的方法是在新的 master

上重新设置 test
git checkout test
git rebase master -i

您可以在变基期间删除过时的提交。

我不得不手动完成。

经过最初的恐慌冷静下来后,我意识到变化很小,只影响了 5 个文件。

所以我去了那里,将它们从 master 复制到 /tmp,检查了 test 并重新复制了它们。

受影响目录的 mastertest 之间现在没有差异。呸