git - 您如何重新 merge 还原的 merge

标签 git

在我们过去的生活中,我们有一个分支系统......不正确。 我们不得不恢复 merge ,因为我们决定不发布该功能。

现在我们已准备好发布该功能,但我很难弄清楚如何让它们重新 merge 。

为了跟踪目的,我从以前的分支创建了一个新分支,并 merge 了我们主线的最新分支。但是我一直没能弄清楚如何将它 merge 回主线。

最佳答案

有几种方法可以做到这一点。

  1. 您可以在 merge 的还原提交上使用 git revert。确保以后的任何更改都不会被覆盖。
  2. 根据功能中更改的文件,您可以使用 git checkout 从原始文件中 check out 文件。然后,您可以进行一次引入该功能的提交。如果以后的更改会被过去的文件覆盖,这可能会很棘手。
  3. git cherry-pick 对功能进行更改的提交。如果您可以轻松识别该功能的几个提交,那么这可以工作。它将创建新的提交以重新引入更改。只需确保以正确的顺序应用提交即可。

无论如何,您都需要有一个或多个重新引入更改的新提交。这不是重新 merge 分支的问题。

IMO,最简单的选择可能是第一个。只需确保在推送之前验证本地存储库中的所有内容。这样您就可以修改提交而不会造成任何麻烦。

关于git - 您如何重新 merge 还原的 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26406742/

相关文章:

git - 有没有办法从我的分支中提取主更改?

Windows Git Bash shell 找不到命令?

linux - 如何将 Linux-Next 重置为指定日期?

Github for Windows 忽略 .gitignore Visual Studio

git - 你如何使用 gitlab-ci 作业推送到 gitlab 仓库?

git - 为什么我需要显式推送一个新分支?

git - 两个 git 存储库,彼此作为 Remote

git - 如何在 git 中将未推送的提交从一个(本地)分支移动到另一个分支?

Git:如何使用开发中所做的更改来更新本地功能分支?

Github:将额外的提交推送到 pull 请求