設定 Git 存放庫設定和原則

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

有數種方式可以使用分支和存放庫設定和原則來自定義您的 Azure Repos Git 存放庫。 本文討論存放庫層級的設定和原則。

  • 存放庫設定和原則會為專案或組織或個別存放庫的所有 Git 存放庫設定全域選項。

    本文討論伺服器端存放庫設定和原則。 若要瞭解用戶端 Git 喜好設定,請參閱 Visual Studio 中的 Git 喜好設定和設定。

  • 分支原則涵蓋分支特定控件。

    分支原則包括需要提取要求、成功建置或程式代碼檢閱等選項,才能將變更合併至分支。 如需詳細資訊,請參閱 分支原則和設定

  • 存放庫和分支安全性許可權可控制使用者指派。

    這些許可權可控制誰可以讀取、寫入、參與提取要求,並採取其他特定動作。 如需詳細資訊,請參閱 設定存放庫的許可權。

所有存放庫和分支設定和原則的摘要

您可以設定專案中所有存放庫、個別存放庫和存放庫分支的設定和原則。 在瀏覽器中,您會透過 [項目設定>存放庫] 設定所有這些設定和原則。

注意

您可以使用 az repos 原則,使用 Azure CLI 設定數個分支設定和原則。

下表摘要說明您可以針對 Git 存放庫和分支啟用和設定的設定和原則。

所有存放庫 設定

下表摘要說明您可以在專案或組織中啟用和設定所有新 Git 存放庫的設定。

設定

Default

說明


關閉

使用您指定的預設分支名稱,初始化新的存放庫。 您可以隨時變更特定存放庫的預設分支。 如果您未啟用此功能,存放庫會使用名為 main的預設分支初始化。

另一

讓使用者管理所有新存放庫中所建立分支的許可權。

存放庫設定

下表摘要說明您可以為每個個別 Git 存放庫啟用或設定的設定。

設定

Default

說明


另一

允許使用者從存放庫建立分支。

另一

自動為認可批注中提及的工作專案建立連結。

另一

允許認可批注中的提及關閉工作專案。 需要 Azure DevOps Server 2020.1 更新或更新版本。

另一

請記住使用者喜好設定,以使用提取要求完成工作專案。

另一

允許使用者管理他們建立之分支的許可權

另一

為存放庫啟用 嚴格投票模式 ,這需要 參與 對提取要求進行投票的許可權。

另一

停用對存放庫的存取,包括組建和提取要求,但請以警告讓存放庫保持可探索。

另一

指定最多五個分支來參與程式代碼搜尋,預設只會套用至預設分支。 需要安裝並啟用程式 代碼搜尋延伸模組

存放庫原則或選項

下表摘要說明您可以針對所有或個別存放庫設定的原則或選項。 針對 [所有存放庫 ] 設定的原則會為稍後新增的個別存放庫設定預設值。

原則選項

Default

說明


關閉

使用不符合指定模式的認可作者電子郵件封鎖推播。 此設定需要 Azure DevOps Server 2020.1 或更新版本。

關閉

禁止推送引進符合指定模式的檔案路徑。 此設定需要 Azure DevOps Server 2020.1 或更新版本。

關閉

藉由封鎖在檔案、資料夾、分支和標記上變更名稱大小寫的推播,以避免區分大小寫衝突。

關閉

封鎖導入檔案、資料夾或分支名稱的推送,其中包含平臺保留名稱或不相容字元。

關閉

封鎖推播,引進超過指定長度的路徑。

關閉

封鎖包含大於所選限制之新檔案或更新檔案的推播。

分支原則

下表摘要說明您可以定義來自定義分支的原則。 如需設定這些設定的詳細資訊,請參閱 使用分支原則改善程式碼品質。 當您在分支上設定任何原則時,會自動強制執行下列原則:

  • 需要提取要求才能更新分支。
  • 無法刪除分支。

注意

分支原則會根據提取要求的目標分支套用至提取要求。 分支原則不應該在提取要求之後刪除的暫存分支上設定。 將分支原則新增至暫存分支會導致自動刪除分支失敗。

原則

Default

說明


關閉

在提取要求上,需要指定數目的檢閱者核准。

關閉

檢查提取要求上是否有連結的工作專案,以鼓勵可追蹤性。

關閉

檢查是否已解決提取要求的所有批注。

關閉

藉由限制提取要求完成時可用的合併類型來控制分支歷程記錄。

關閉

新增、啟用或停用一或多個原則,藉由預先合併和建置提取要求變更來驗證程序代碼。

關閉

新增、啟用或停用一或多個原則,以要求其他服務張貼成功狀態以完成提取要求。

關閉

新增、啟用或停用一或多個原則,以指定當提取要求變更特定程式代碼區域時,自動包含的程式代碼檢閱者。

必要條件

  • 若要設定原則,您必須是 Project 管理員 istrators 安全組的成員,或具有存放庫層級的編輯原則許可權。 若要深入瞭解,請參閱 設定 Git 存放庫許可權
  • 如果您想要使用 az repos 命令,請務必遵循開始使用 Azure DevOps CLI 中的步驟。
  • 若要設定原則,您必須是 Project 管理員 istrators 安全組的成員,或具有存放庫層級的編輯原則許可權。 若要深入瞭解,請參閱 設定 Git 存放庫許可權

檢視和編輯設定和原則

您可以 設定整個組織或項目或個別存放庫之所有存放庫的設定 。 您可以針對所有存放庫、個別存放庫或跨存放庫的指定分支設定原則。 如需設定分支原則的相關信息,請參閱 分支原則

注意

最好是在專案層級或個別存放庫設定存放庫設定,但不能同時設定這兩者。 如果您在一個以上的層級設定設定,系統會採用最嚴格的設定。 在一個層級設定設定可減少混淆和 Git 效能問題。

若要透過入口網站設定存放庫設定和原則,請從網頁瀏覽器開啟 [項目設定>存放庫]。

  1. 若要檢視或修改所有 Git 存放庫的設定或原則,請開啟 [所有存放庫] 頁面,然後選擇 [設定] 或 [原則]。

    顯示所有存放庫之存放庫 設定 的螢幕快照

    若要設定特定存放庫的設定和原則,請選取 [存放庫] 索引卷標,選擇存放庫,然後選擇 [設定] 或 [原則] 索引卷標。

    此螢幕快照顯示 Fabrikam 存放庫的存放庫 設定。

  2. 下列螢幕快照顯示已選取 設定 索引標籤。 您可以為所有 Git 存放庫或個別存放庫定義這些設定。

    顯示已選取存放庫專案 設定 索引標籤的螢幕快照。

  3. 下列螢幕快照顯示已選取 [ 原則] 索引標籤。 您可以為所有 Git 存放庫或個別存放庫定義這些原則。

    顯示已選取存放庫 [原則] 索引卷標的螢幕快照。

  1. 從網頁瀏覽器開啟專案,然後選擇 [項目設定]、 [存放庫],然後選取您的存放庫。

    存放庫的 [專案 設定] 螢幕快照。

  2. 若要檢視及設定存放庫設定,請選取 [選項] 或 [原則]。

    下列螢幕快照顯示 所有存放庫的選項

    所有存放庫的 [選項] 螢幕快照。

    下列螢幕快照顯示 Fabrikam 存放庫的選項

    Fabrikam 存放庫選項的螢幕快照。

默認分支名稱

您可以在組織或專案層級設定預設存放庫分支名稱。 組織層級設定會針對組織中所有專案的所有新存放庫生效。 專案層級設定會影響專案中的所有新存放庫,並取代組織層級上設定的任何名稱。

您可以:

  • 選擇初始化存放庫時要使用的任何合法分支名稱。
  • 隨時變更預設名稱,以影響所有未來的存放庫。
  • 隨時變更任何特定存放庫的預設分支名稱。

如果您未啟用預設分支名稱功能,存放庫會使用 Azure Repos 預設分支名稱 main初始化。

若要在組織層級設定預設分支名稱:

  1. 在 Azure DevOps 組織頁面上,選取 左下方的 [組織設定 ],然後在左側導覽中選取 [ 存放庫 ]。
  2. 在 [所有存放庫] 頁面上,將新存放庫的預設分支名稱設定[開啟],然後輸入預設分支名稱。

此螢幕快照顯示新存放庫預設分支名稱的組織層級設定。

若要在項目層級設定預設分支名稱:

  1. 在 Azure DevOps 項目頁面上,選取 左下方的 [項目設定 ],然後選取左側導覽中的 [ 存放庫 ]。
  2. 在 [所有存放庫] 頁面的 [設定]索引卷標上,將新存放庫的預設分支名稱設定[開啟],然後輸入預設分支名稱。

顯示新存放庫預設分支名稱之專案層級設定的螢幕快照。

注意

新存放庫設定的預設分支名稱需要 Azure DevOps Server 2020.1 或更新版本。

分支許可權管理

您可以設定所有 Git 存放庫或個別存放庫的許可權管理設定,來控制誰可以管理存放庫分支的許可權。 如果您在 [所有存放庫] 層級啟用 [允許使用者管理其建立之分支的許可權] 設定,則所有新的專案存放庫都會設定為讓使用者管理其建立分支的許可權。

若要管理此設定:

  1. 在 Azure DevOps 項目頁面上,選取 左下方的 [項目設定 ],然後選取左側導覽中的 [ 存放庫 ]。
  2. 在 [所有存放庫] 頁面的 [設定] 索引卷標上,將 [允許使用者管理其建立之分支的許可權] 設定為 [開啟] 或 [關閉]。

顯示專案層級的螢幕快照:允許使用者管理其建立之分支設定的許可權。

若要啟用或停用個別存放庫的這項設定:

  1. 選取 [專案 設定> 存放庫],然後選取存放庫。
  2. 在 [存放庫名稱>] 頁面的 [設定]< 索引卷標上,將 [許可權管理] 設定為 [開啟] 或 [關閉]。

顯示 [許可權管理存放庫] 設定的螢幕快照。

Gravatar 影像

此設定可啟用或停用對企業外部使用者使用 Gravatar 影像

Gravatar 影像 是組織層級設定。

  1. 在 Azure DevOps 組織頁面上,選取 左下方的 [組織設定 ],然後在左側導覽中選取 [ 存放庫 ]。
  2. 在 [所有存放庫] 頁面上,將 Gravatar 影像設定為 [開啟] 或 [關閉]。

顯示 Gravatar 影像組織層級設定的螢幕快照。

Gravatar 映射是所有存放庫的專案層級設定。

  1. 在 Azure DevOps 項目頁面上,選取 左下方的 [項目設定 ],然後選取左側導覽中的 [ 存放庫 ]。
  2. 在 [所有存放庫] 頁面的 [設定] 索引卷標上,將 Gravatar 映射設定為 [開啟] 或 [關閉]。

Gravatar 映射是所有存放庫的專案層級設定。

  1. 在 Azure DevOps 項目頁面上,選取 左下方的 [項目設定 ],然後選取左側導覽中的 [ 存放庫 ]。
  2. 在 [所有存放庫] 頁面的 [設定]索引卷標上,將 Gravatar 影像設定為 [開啟] 或 [關閉]。

啟用分叉

此存放庫設定可控制使用者是否可以建立新的伺服器端 分支。 停用此設定並不會移除現有的分叉。

  1. [專案 設定],選取左側導覽中的 [存放庫]。
  2. 在 [所有存放庫] 頁面的 [存放庫] 索引標籤上,選取存放庫。
  3. 在 [存放庫名稱>] 頁面的 [設定]< 索引卷標上,將 [分支] 設定為 [開啟] 或 [關閉]。

顯示分支存放庫設定的螢幕快照。

工作項目連結設定

這些存放庫設定會管理工作項目連結。

  1. 選取 [專案 設定> 存放庫],然後選取存放庫。
  2. 在 [存放庫名稱>] 頁面的 [設定<] 索引卷標上,開啟或關閉設定。

顯示工作項目連結存放庫設定的螢幕快照。

認可提及連結

啟用時,認可包含 # 的訊息後面接著有效的工作專案標識符,會自動將認可連結至該工作專案。 如果存放庫先前使用不同的帳戶或服務,請停用此設定。 這些存放庫可能會有與目前帳戶中工作專案標識碼不符之提及的認可訊息 #

認可提及工作專案解析

啟用此設定,以在連結的提取要求完成時自動完成工作專案。 此設定也允許在提取要求認可訊息中指定其他工作項目轉換狀態。 如需詳細資訊,請參閱 使用提取要求自動完成工作專案。

認可提及工作專案解析

啟用此設定,以在您成功完成PR時自動完成這些工作專案。 若要深入瞭解,請參閱 使用提取要求自動完成工作專案。

工作項目轉換喜好設定

根據預設,在提取要求完成期間完成連結工作項目的選項會記住每個用戶的最後選擇。 想要阻止使用者使用提取要求完成工作專案的Teams可以停用此設定。 然後,用戶必須選擇在每次完成提取要求時完成工作專案。

嚴格投票模式設定

在某些情況下,不屬於存放庫參與者的使用者可以提交提取要求,並根據原則進行合併。 若要避免這種可能性,請啟用嚴格投票模式,以變更對存放庫提取要求進行投票所需的許可權。 如果您依賴 Azure Repos 中的使用者分支,建議您啟用此設定。

  1. 選取 [專案 設定> 存放庫],然後選取存放庫。
  2. 在 [存放庫名稱>] 頁面的 [設定]< 索引卷標上,將 [嚴格投票模式] 設定為 [開啟] 或 [關閉]。

顯示 [嚴格投票模式] 存放庫設定的螢幕快照。

停用存放庫設定

啟用此設定會停用存放庫的存取權,包括組建和提取要求,但會使用警告讓存放庫保持可探索。

  1. 選取 [專案 設定> 存放庫],然後選取存放庫。
  2. 在 [存放庫名稱>] 頁面的 [設定]< 索引卷標上,將 [停用存放庫] 設定為 [開啟] 或 [關閉]。

顯示 [停用存放庫] 設定的螢幕快照。

可搜尋的分支設定

根據預設,檔案中的程式代碼搜尋僅適用於預設分支。 您最多可以新增五個分支來搜尋。

重要

若要在存放庫中搜尋程式代碼,您必須安裝 Marketplace 程式代碼搜尋 延伸模組。 如果您在存放庫 設定 索引標籤中看不到 [可搜尋的分支],請確定您已安裝擴充功能。

若要新增程式代碼搜尋的分支:

  1. 選取 [專案 設定> 存放庫],然後選取存放庫。
  2. 在 [存放庫名稱>] 頁面的 [設定] < 索引標籤上,選取 + [可搜尋的分支] 中的 。
  3. 選取要包含在搜尋中的分支,然後選取 [ 新增分支]。

顯示可搜尋分支存放庫設定的螢幕快照。

跨存放庫分支原則

您可以在專案的所有存放庫上設定特定分支名稱或預設分支上的原則。 例如,針對所有專案存放庫的每個 main 分支中的所有提取要求,您可能需要兩個最低檢閱者。

若要設定原則來保護項目間的特定或預設分支名稱:

  1. [專案 設定],選取左側導覽中的 [存放庫]。

  2. 在 [ 所有存放庫 ] 頁面上,選取 [ 原則] 索引卷標。

  3. 選取頁面底部的加號登入+分支原則。

  4. 在 [新增分支保護] 畫面上,選取 [保護每個存放庫的預設分支],或 [保護符合指定模式的目前和未來分支]。

    如果您選取第二個選項,請輸入要保護的分支名稱。 資訊訊息可讓您知道有多少最新分支受到影響。 分支尚未存在,無法保護分支名稱。

  5. 選取 建立

    顯示啟用跨存放庫分支原則的螢幕快照。

  6. [分支名稱>的<跨存放庫原則] 頁面上,設定您要用於受保護分支的原則。 如需分支原則的詳細資訊,請參閱 分支原則

    顯示跨存放庫分支原則設定的螢幕快照。

認可作者電子郵件驗證原則

此原則會封鎖認可作者認可至存放庫,其電子郵件位址不符合模式。

  1. 選取 [Project 設定> Repositories],如果您想要只設定該存放庫,請選取存放庫。

  2. 在 [所有存放庫或<存放庫名稱>] 頁面的 [原則] 索引卷標上,於 [存放庫原則] 底下,將 [認可作者電子郵件驗證] 設定[開啟] 或 [關閉]。

  3. 如果您開啟原則,請指定要符合的電子郵件地址或位址。

    您可以指定確切的電子郵件地址或使用通配符。 使用 ; 做為多個電子郵件模式的分隔符。 前面加上 ! 的電子郵件模式會排除。 順序很重要。

顯示認可作者電子郵件驗證原則設定的螢幕快照。

檔案路徑驗證原則

您可以設定原則,以防止認可存放庫的檔案路徑符合模式。

  1. 選取 [專案 設定> 存放庫],如果您想要只設定該存放庫,請選取存放庫。

  2. 在 [所有存放庫或<存放庫名稱>] 頁面的 [原則] 索引卷標上,於 [存放庫原則] 底下,將 [檔案路徑驗證] 設定[開啟] 或 [關閉]。

  3. 如果您開啟原則,請指定要封鎖的路徑或路徑。

    您可以指定確切的路徑和通配符。 確切路徑開頭為 /。 您也可以使用 ; 做為分隔符來指定多個路徑。 前面加上 ! 的路徑會排除。 順序很重要。

顯示 [檔案路徑驗證原則] 設定的螢幕快照。

案例強制執行原則

Git 會區分大小寫,這表示名為 Foo.txt 的 檔案與稱為 foo.txt 的檔案不同。 不過,Windows 和 macOS 預設為不區分大小寫的文件系統,這表示 Foo.txtfoo.txt 的名稱相同。 如果不區分大小寫的系統有人推入檔案、資料夾、分支或標記,則此差異可能會導致問題,而該檔案只會因字母大小寫而有所不同。 如需詳細資訊,請參閱 Git 跨平臺相容性

如果您的大部分參與者都位於 Windows 或 macOS 上,最好啟用 案例強制執行 原則。 案例強制執行會將伺服器從其預設區分大小寫模式切換為區分大小寫的模式,其中File.txt和file.txt不同,而 windows 和 macOS 易記模式則視為相同檔案File.txtfile.txt。 這個設定會影響檔案、資料夾、分支和標記。

此設定可防止參與者引入僅限案例的差異。 此設定會封鎖在檔案、資料夾、分支和標記上變更名稱大小寫的推送,以避免區分大小寫衝突。 用戶必須重寫其未推送的歷程記錄來修正問題,然後再試一次推送。

此設定不會修正已包含只有大小寫不同之物件的存放庫。 在開啟原則之前,最好先修正這類問題。 重新命名檔案和資料夾,或重新建立 分支標籤 ,以使用不衝突的名稱。

若要設定案例強制執行原則:

  1. 選取 [專案 設定>][存放庫],如果您想要只設定該存放庫,請選取存放庫。
  2. 在 [所有存放庫<存放庫名稱>] 頁面的 [原則] 索引卷標上,於 [存放庫原則] 底下,將 [案例強制執行] 設定為 [開啟] 或 [關閉]。

顯示案例強制執行原則設定的螢幕快照。

保留名稱原則

並非所有的檔名都允許在三個主要OS檔系統上:Windows、macOS和Linux。 對共用存放庫的認可可能包含一或多個平臺上無效的檔案或資料夾名稱。 如果在這些平臺上擷取並取出無效的檔案或資料夾,工作目錄可能會損毀。 如需詳細資訊,請參閱 Git 跨平臺相容性

您可以啟用或停用原則,以限制檔案和資料夾名稱。 [ 保留名稱 ] 設定會封鎖推送至存放庫,其中包含所有平臺上無效的檔案或資料夾名稱。 若要查看哪些名稱無效,請參閱 Git 跨平臺相容性

若要設定保留名稱原則:

  1. 選取 [專案 設定> 存放庫],如果您想要只設定該存放庫,請選取存放庫。
  2. 在 [所有存放庫<存放庫名稱>] 頁面的 [原則] 索引卷標上,於 [存放庫原則] 底下,將 [保留名稱] 設定為 [開啟] 或 [關閉]。

顯示保留名稱原則設定的螢幕快照。

路徑長度上限原則

並非所有路徑長度都允許在三個主要 OS 檔案系統上:Windows、macOS 和 Linux。 對共用存放庫的認可可能包含在一或多個平臺上無效路徑長度的檔案或目錄。 如果這些檔案或目錄在無效的平臺上擷取並取出,工作目錄可能會損毀。 如需詳細資訊,請參閱 Git 跨平臺相容性

[ 路徑長度上限] 設定會封鎖推送,其中包含任何平臺上路徑長度無效的檔案或目錄。 若要查看哪些路徑長度無效,請參閱 Git 跨平臺相容性。 當您啟用此設定時,預設的最大值為 248,因為所有三個主要平臺都支援最大長度為100%。

您可以修改路徑值上限。 例如,如果您組織中只有 macOS 或 Linux 開發人員,您可以選擇將長度上限設定為這兩個平臺上所支援的值。 1016 您也可以選擇設定較低的路徑值,以強制執行組織的目錄命名慣例。

若要設定路徑長度上限原則:

  1. 選取 [專案 設定> 存放庫],如果您想要只設定該存放庫,請選取存放庫。
  2. 在 [所有存放庫<存放庫名稱>] 頁面的 [原則] 索引卷標上,於 [存放庫原則] 底下,將 [路徑長度上限] 設定為 [開啟] 或 [關閉]。
  3. 如果您開啟設定,請輸入路徑長度上限。

顯示 [路徑長度上限] 原則設定的螢幕快照。

檔案大小上限原則

簽入 Git 的大型檔案會無限期地保留在存放庫中,增加複製時間和磁碟使用量。 如需管理大型檔案的指引,請參閱 在 Git 中管理和儲存大型檔案。

[檔案大小上限] 原則設定會封鎖特定大小的檔案進入存放庫。 如果推送包含大於此設定中所設定限制的新或更新檔案,則會封鎖推送。 用戶必須重寫其未推送的歷程記錄,才能移除大型檔案,然後再試一次推送。

若要設定 檔案大小 上限原則:

  1. 選取 [Project 設定> Repositories],如果您想要只設定該存放庫,請選取存放庫。
  2. 在 [所有存放庫或<存放庫名稱>] 頁面的 [原則] 索引卷標上,於 [存放庫原則] 底下,將 [檔案大小上限] 設定為 [開啟] 或 [關閉]。
  3. 如果您開啟設定,請選取檔案大小上限。

顯示 [檔案大小上限] 原則設定的螢幕快照。

下一步