无法在 Azure Devops 中恢复
cannot revert in Azure Devops
我将拉取请求合并到我们的开发分支中,但需要对其中一个文件进行额外更改。我想还原拉取请求,然后将更改添加到功能分支,但是当我在 Azure Devops 中使用还原按钮时说:
Encountered conflicts when reverting commit '8a750f'. This operation needs to be performed locally.
非常缺乏信息,也没有指出错误的内容或位置。
我的第一个问题是:是对原始功能分支的还原,在这里添加新的更改,然后在 Dev
中再次合并它们,使用新的拉取请求是添加新更改的最佳方式?
还是我应该将新更改添加到新分支并将该分支推送到 Dev
?我主要关心的是如何将这两个功能分支(一个已经与 Dev
合并的分支和新分支)推送到其他分支,如 Test
和 Master
?
第二个问题是关于错误信息:它是什么意思,我该如何检查冲突?我使用 Visual Studio 2019 和 .Net Core 2.2。
Is a revert of the original feature branch, add the new changes here,
and then merge them again in Dev, using a new pull request the best
way to add the new changes?
基于本人,非常赞同楼上评论的观点。至于你想要实现的目标,我认为使用 revert
不是一个好主意。因为它实际上最终会使您的存储库变得一团糟。
正如您在评论中所说,在 revert
之后,您必须重新对 feature
分支进行所有更改,其中包括之前合并但后来取消的分支。它的优点是它可以确保您的存储库历史的完整性。但我认为这不是您的方案的最佳方式。
为了更好的解释,最初,拉取请求被合并到 feature
分支到 dev
分支,然后你发现你需要对其中一个文件添加另一个更改。
那么,为什么不直接将这个新的更改放入 feature
分支,然后再将其推入 dev
分支呢?
正如您所关心的,如果您创建一个新分支来应用您的新更改,当它们需要合并到另一个分支时会造成麻烦,因为您必须保持它们彼此同步,否则会导致冲突很容易。
另外,如果创建一个新的分支是你必须做出的选择。您可以根据 feature
分支创建此新分支。将新更改应用到文件后,通过拉取请求将新分支合并到 feature
分支。然后将 feature
分支合并到 dev
分支。
此时可以删除新分支,因为所有更改都同步回feature
分支。此外,您可以稍后继续处理 feature
分支。
What does it mean and how can I check the conflicts?
还有一个thread解释的很详细。你可以检查一下。
要解决这个问题,您可以尝试使用以下脚本:
# Unstage conflicts
git reset HEAD ./
# Unstage deletions and reset everything back to master
git checkout -- ./
# Cancel the pending revert operation
git revert --abort
$ git checkout 8a750f
# Make use of tag feature, it can help for this kind of issue in the future.
$ git tag mark
$ git push origin mark
我将拉取请求合并到我们的开发分支中,但需要对其中一个文件进行额外更改。我想还原拉取请求,然后将更改添加到功能分支,但是当我在 Azure Devops 中使用还原按钮时说:
Encountered conflicts when reverting commit '8a750f'. This operation needs to be performed locally.
非常缺乏信息,也没有指出错误的内容或位置。
我的第一个问题是:是对原始功能分支的还原,在这里添加新的更改,然后在 Dev
中再次合并它们,使用新的拉取请求是添加新更改的最佳方式?
还是我应该将新更改添加到新分支并将该分支推送到 Dev
?我主要关心的是如何将这两个功能分支(一个已经与 Dev
合并的分支和新分支)推送到其他分支,如 Test
和 Master
?
第二个问题是关于错误信息:它是什么意思,我该如何检查冲突?我使用 Visual Studio 2019 和 .Net Core 2.2。
Is a revert of the original feature branch, add the new changes here, and then merge them again in Dev, using a new pull request the best way to add the new changes?
基于本人,非常赞同楼上评论的观点。至于你想要实现的目标,我认为使用 revert
不是一个好主意。因为它实际上最终会使您的存储库变得一团糟。
正如您在评论中所说,在 revert
之后,您必须重新对 feature
分支进行所有更改,其中包括之前合并但后来取消的分支。它的优点是它可以确保您的存储库历史的完整性。但我认为这不是您的方案的最佳方式。
为了更好的解释,最初,拉取请求被合并到 feature
分支到 dev
分支,然后你发现你需要对其中一个文件添加另一个更改。
那么,为什么不直接将这个新的更改放入 feature
分支,然后再将其推入 dev
分支呢?
正如您所关心的,如果您创建一个新分支来应用您的新更改,当它们需要合并到另一个分支时会造成麻烦,因为您必须保持它们彼此同步,否则会导致冲突很容易。
另外,如果创建一个新的分支是你必须做出的选择。您可以根据 feature
分支创建此新分支。将新更改应用到文件后,通过拉取请求将新分支合并到 feature
分支。然后将 feature
分支合并到 dev
分支。
此时可以删除新分支,因为所有更改都同步回feature
分支。此外,您可以稍后继续处理 feature
分支。
What does it mean and how can I check the conflicts?
还有一个thread解释的很详细。你可以检查一下。
要解决这个问题,您可以尝试使用以下脚本:
# Unstage conflicts
git reset HEAD ./
# Unstage deletions and reset everything back to master
git checkout -- ./
# Cancel the pending revert operation
git revert --abort
$ git checkout 8a750f
# Make use of tag feature, it can help for this kind of issue in the future.
$ git tag mark
$ git push origin mark