在我们过去的生活中,我们有一个分支系统......不正确。 我们不得不恢复 merge ,因为我们决定不发布该功能。
现在我们已准备好发布该功能,但我很难弄清楚如何让它们重新 merge 。
为了跟踪目的,我从以前的分支创建了一个新分支,并 merge 了我们主线的最新分支。但是我一直没能弄清楚如何将它 merge 回主线。
最佳答案
有几种方法可以做到这一点。
- 您可以在 merge 的还原提交上使用
git revert
。确保以后的任何更改都不会被覆盖。 - 根据功能中更改的文件,您可以使用
git checkout
从原始文件中 check out 文件。然后,您可以进行一次引入该功能的提交。如果以后的更改会被过去的文件覆盖,这可能会很棘手。 git cherry-pick
对功能进行更改的提交。如果您可以轻松识别该功能的几个提交,那么这可以工作。它将创建新的提交以重新引入更改。只需确保以正确的顺序应用提交即可。
无论如何,您都需要有一个或多个重新引入更改的新提交。这不是重新 merge 分支的问题。
IMO,最简单的选择可能是第一个。只需确保在推送之前验证本地存储库中的所有内容。这样您就可以修改提交而不会造成任何麻烦。
关于git - 您如何重新 merge 还原的 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26406742/