防止在PR完成时删除分支

时间:2019-06-12 15:54:59

标签: git azure-devops pull-request

在Azure Devops中,我有一个带有开发分支的git存储库。我们从该分支创建多个功能分支,然后通过拉取请求将代码合并到开发中。完成拉取请求后,功能分支将被删除。

我想防止这种情况的发生。我想保留这些功能分支。我该怎么办?

1 个答案:

答案 0 :(得分:1)

  

防止分支机构在PR完成时被删除

实际上,取消选中合并后删除选项是最直接的解决方案。

但是,我们有时会忽略在频繁的PR中选中此选项。目前,此选项对我们来说还不够。

要解决此问题,解决方法是为目标分支设置分支安全性(根据您的情况选择多个功能分支):

在Azure Devops Branches选项卡中->单击分支的Feature按钮-> Branch security->将Force push (rewrite history, delete branches and tags)更改为Deny用户和组->保存更改。

enter image description here

然后,合并后的删除选项将不可用:

enter image description here

注意:

  • 在PR完成窗口中的合并选项后删除源分支默认情况下未选中/选择,而是基于上次的设置。例如,如果您现在取消选择该选项,则下次打开PR完成窗口时,将取消选择“合并后删除源分支”选项。
  • 就像丹尼尔说的那样,保留要素分支不是正常的操作,我们必须知道它可能带来的一些问题。就像,如果我们选择合并类型为squash commit并在第一个PR处保留要素分支,则在第二个PR时会发生冲突。因为我们将提交保留在功能分支上。

希望这会有所帮助。