锁定分支并提醒开发人员我正在签入

Lock branch and alert developers that I am checking-in

我们最近开始使用:"New Pull Request" 来自 Visual Studio 2017 Team Explorer -> Git.

一个常见的问题是,一旦开发人员创建 "New Pull Request",通常同时向主分支推送会产生冲突。当 Pull Request 浏览器 window 打开时,.csproj 冲突或任何其他冲突。它显示错误:"Merge failed because of conflict".

我们如何处理这个问题?如果任何拉取请求已经在进行中,是否有任何方法可以锁定推送?无论如何要提醒所有开发人员我即将推送?

您可以设置分支策略或本地主分支。

选项 1:设置 branch policies

您可以为主分支(创建PR时的基础分支)添加分支策略,这样主分支的新更改只能通过拉取请求添加。

方案二:Lock主支

您可以在网页中手动lock/unlock分支:

或者您可以使用 REST API 自动 lock/unlock 分支:

比如使用web hooks自动锁定和解锁分支。当 Pull request created 事件被触发时,本地分支。当Code pushed事件触发时,解锁分支。