我们有2家分行,
master
和feature
。我们以 feature
分支为基础的所有其他分支。过了一会儿,我们将一堆 PRs
合并到 feature
,最后将 feature
合并到 master
。现在,我们的 feature
分支有很多提交需要合并到 master
。但是,Github
上有很多冲突。 feature
分支受到保护,无法直接推送。因此,我按照以下步骤来解决冲突
resolve-conflicts
创建了一个分支
feature
resolve-conflicts
feature
分支创建了 PR(将 resolve-conflicts
合并到 feature
)现在,我解决冲突的 PR 现已合并到
feature
分支。我希望现在可以将 feature
合并到 master
。但是,它仍然会产生与以前相同的冲突。一切都没有改变。
我期望的结果是解决受保护分支的冲突而不直接推送
创建一个新分支来解决冲突:这就是您已经完成的操作。基于功能分支创建一个分支(例如,解决冲突)。
将master合并到本地resolve-conflicts:将最新更改从master分支拉入resolve-conflicts分支。这可确保您拥有来自 master 的最新代码来解决冲突。
git checkout resolve-conflicts
git merge master
解决冲突:现在您已经在resolve-conflicts分支中进行了master的更改,您需要解决代码中的所有冲突。使用您喜欢的方法或编辑器来解决这些冲突。
提交已解决的更改:解决冲突后,暂存更改并提交。
git add .
git commit -m "Resolved conflicts with master branch"
推送resolve-conflicts分支:将resolve-conflicts分支推送到远程存储库。
git push origin resolve-conflicts
针对功能分支创建拉取请求:在 GitHub 上,创建拉取请求以将解决冲突分支合并到功能分支中。
合并拉取请求:拉取请求经过审核并批准后,将其合并到功能分支中。
尝试将功能分支合并到主分支:现在,尝试将功能分支合并到主分支。由于您已经解决了功能分支中的冲突,因此理想情况下此步骤应该顺利进行。