在 git 中强制合并的最佳方法是什么?



我有一个包含开发分支和生产分支的项目。最近,我一直在开发中开发一组新的功能,所以我已经有两周没有合并到生产中了。然而,与此同时,在生产中也有一些错误需要修复。

在大多数情况下,我能够在开发中进行修复,并将其挑选到生产中。然而,有时我需要手动修复生产,因为这两个分支的修复有很大不同。重点是,这两个分支自分裂以来已经有了相当大的分歧。

现在我只想把所有的开发投入生产。我不在乎在拆分后在生产中保留任何提交,我只希望生产看起来和dev完全一样。[EDIT:我希望生产在拆分后看起来和dev完全一样,但不想在拆分前重写历史]然而,当我尝试合并时,我会遇到几十个冲突,我不想手动修复。

在git中强制合并的最佳方法是什么?我可以将生产更改恢复到拆分,然后快进到开发分支吗?

您可以将开发分支推送到主回购生产分支:

git push --force upstream-remote dev:production

如果使用默认克隆,则upstream-remote可能只是origin

针对修改后的问题更新:

你可能不想使用git意义上的revert,但是的,这或多或少是你想要做的

git checkout -b merge <split hash>
git merge dev
git push --force origin merge:production

<拆分哈希>是您要保留的最后一个生产承诺。

这将把您的新分支合并到现有的baseBranch 中

git checkout <baseBranch> // checkout baseBranch
git merge -s ours <newBranch> // this will simply merge newBranch in baseBranch
git rm -rf . 
git checkout newBranch -- . 

相关内容

  • 没有找到相关文章

最新更新