Microsoft Visual Studio Online - Git"后续步骤:手动解决这些冲突并将新更改推送到源分支."

CBB*_*ike 31 git azure-devops

我创建了一个名为dev的分支.

我已经做了一个pull请求将dev代码发送给master,当我执行这个pull请求时它会告诉我: 在此输入图像描述

50多个冲突阻止自动合并"后续步骤:手动解决这些冲突并将新更改推送到源分支."

我从哪里开始?我只想让所有dev分支替换master中的所有东西.我认为没有办法解决这些冲突.

Har*_*dhi 49

您必须在PC上执行以下操作

在分支上 dev

$ git pull origin master - 这将创建合并提交,您必须解决在开发和主服务器上都更改的文件中的冲突.git status将显示具有冲突更改的文件列表.

解决冲突后,提交所有更改并强制推送您的分支.之后,您应该能够完成PR.

帮助链接了解更多详情

  • **更好的文档链接** - 以下是Azure DevOps文档"解决合并冲突"的链接,它提供了有关合并冲突的说明以及如何使用命令行或Visual Studio解决的说明.https://docs.microsoft.com/en-us/azure/devops/repos/git/merging?view=vsts&tabs=visual-studio (3认同)

Mar*_*Liu 5

由于您需要将文件版本保留在dev分支上(在更改目标分支中的文件时保留源分支master),因此您应该在master分支上进行更改以解决冲突文件,并确保您有权将更改推送到master分支.

您可以使用以下选项:

选项1:直接合并

在本地仓库中,您可以执行以下命令以合并dev到master分支中,同时将冲突文件版本保留为dev分支:

git checkout master
git merge dev -X theirs
git push origin master
Run Code Online (Sandbox Code Playgroud)

在您创建的现有pull请求中,它将显示已合并的分支.所以你可以放弃拉取请求.

选项2:仍然通过拉取请求合并(解决主分支上的冲突)

您可以使用以下命令来解决master分支中的冲突:

# In yout local repo
git checkout master
git checkout dev -- .
git commit -m 'replace master branch version by dev for the conflict files'
git push origin master 
Run Code Online (Sandbox Code Playgroud)

如果新提交推送到目标分支(主服务器),则不会更新现有pull请求中的更改.当PR的提交通过另一个分支合并到目标时,您可以找到类似的报告Pull request diff不会更新.

这意味着,网页中的拉取请求仍然显示冲突.您应该放弃现有的pull请求并重新激活(或创建一个新的请求)以将dev合并到master分支中.