評審設置
評審規則設置
合并操作的評審規則、權限設置:在「設置」-「分支設置」中設置保護分支規則;
評審耗時預估
基于機器學習訓練模型,為你提供代碼評審耗時預估服務,幫助你在未點開評審之前第一時間知曉評審工作量,合理安排時間;對于同時擁有多個代碼評審的場景,評審列表上的預估耗時能幫助你更好的安排評審優先級。
參見「評審耗時智能預估」。
合并類型設置
開發者可以創建分支到目標分支的合并請求。管理員可以根據團隊的 WorkFlow 及規范,來對代碼庫維度上的合并請求進行規范化的配置。
當設置某個合并類型為默認時,進行合并操作不選擇合并類型則會按照默認類型進行合并;如果取消某種合并類型,則在合并時下拉選擇不會出現未勾選則合并類型。
合并方式具體說明:
1、 merge(--no-ff)
默認的合并方式。總是創建一個合并請求,合并提交能記錄代碼的合并時間、合并人信息,并在主干(first parent)上隱藏評審分支開發細節。
2、 Merge (fast-forward-only)
使用 fast-forward-only 方式合并,不創建合并節點。當目標分支上有提交,不能使用 fast-forward 時,默認合并類型為合并(創建合并節點)。
3、 Rebase
通過 Rebase 的方式合并到目標分支,不產生 Merge 節點,不生成 Merge Commit。將保留合并前源分支上的 Commit 記錄(作者信息及提交信息,但 CommitId 可能會發生變化)。
4、 Squash
將評審中的所有提交合并為一個并在目標分支上保留干凈的歷史記錄。Squash 合并允許你將評審中的一系列提交壓縮成一次提交,并且可以自定義壓縮節點的提交信息。
在使用 Feature 分支開發時,有時你希望提交改動,但開發過程中的提交信息不一定包含重要信息,因此你不希望將它們包含在目標分支中。這樣,集成分支的歷史記錄通過有意義的提交消息保持清晰,并且在必要時更容易還原(Revert)。