您可以從 @bazel_tools//tools/build_defs/repo:git.bzl 載入下列函式。
git_repository
git_repository(name, branch, build_file, build_file_content, commit, init_submodules, patch_args, patch_cmds, patch_cmds_win, patch_tool, patches, recursive_init_submodules, remote, shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)
複製外部 Git 存放區。
複製 Git 存放區、取出指定標記或修訂版本,並提供其目標以供繫結。此外,請一併判斷實際簽出的提交 ID 和日期,並傳回含有參數的 dict,提供這項規則的可重現版本 (標記不一定會提供)。
Bazel 會先嘗試只對指定提交執行淺層擷取。 如果失敗 (通常是因為缺少伺服器支援),系統會改為完整擷取存放區。
屬性
name | 
名稱 (必填)
 這個存放區的專屬名稱。  | 
branch | 
字串;選用
 遠端存放區中的分支版本。必須指定一個分支、標記或提交。  | 
build_file | 
標籤 (選填)
 要用做這個存放區 BUILD 檔案的檔案。這項屬性是絕對標籤 (主要存放區請使用「@//」)。檔案不一定要命名為 BUILD,但可以這麼做 (例如 BUILD.new-repo-name,這樣可與存放區的實際 BUILD 檔案區別)。必須指定 build_file 或 build_file_content。  | 
build_file_content | 
字串;選用
 這個存放區的 BUILD 檔案內容。必須指定 build_file 或 build_file_content。  | 
commit | 
字串;選用
 要簽出的特定修訂版本。必須指定一個分支、標記或提交。  | 
init_submodules | 
布林值;選用
 是否要複製存放區中的子模組。  | 
patch_args | 
字串清單 (選用)
 提供給修補程式工具的引數。預設為 -p0,但通常需要 -p1 才能處理 Git 產生的修補程式。如果指定多個 -p 引數,系統會採用最後一個。如果指定 -p 以外的引數,Bazel 會改用 patch 指令列工具,而非 Bazel 原生修補程式實作。如果回溯至修補程式指令列工具,且未指定 patch_tool 屬性,系統會使用 `patch`。  | 
patch_cmds | 
字串清單 (選用)
 修補程式套用後,要在 Linux/macOS 上執行的 Bash 指令序列。  | 
patch_cmds_win | 
字串清單 (選用)
 在套用修補程式後,要在 Windows 上執行的 PowerShell 指令序列。如未設定這項屬性,系統會在 Windows 上執行 patch_cmds,這需要 Bash 二進位檔存在。  | 
patch_tool | 
字串;選用
 要使用的 patch(1) 公用程式。如果指定這項屬性,Bazel 會使用指定的修補程式工具,而非 Bazel 原生的修補程式實作項目。  | 
patches | 
標籤清單 (選用)
 解壓縮封存檔後要套用為修補程式的檔案清單。根據預設,這項規則會使用 Bazel 原生修補程式實作項目,該項目不支援模糊比對和二進位修補程式,但如果指定 `patch_tool` 屬性,或 `patch_args` 屬性中含有 `-p` 以外的引數,Bazel 就會改用修補指令列工具。  | 
recursive_init_submodules | 
布林值;選用
 是否要在存放區中以遞迴方式複製子模組。  | 
remote | 
字串;必填
 遠端 Git 存放區的 URI  | 
shallow_since | 
字串;選用
 選用日期,不得晚於指定的提交;如果指定標記或分支 (一律可使用 --depth=1 複製),則不允許使用這個引數。如果設定的日期接近指定的提交,即使伺服器不支援任意提交的淺層擷取作業,您仍可淺層複製存放區。由於 git 的 --shallow-since 實作方式有錯誤,因此不建議使用這個屬性,否則可能會導致擷取失敗。  | 
strip_prefix | 
字串;選用
 從解壓縮的檔案中移除的目錄前置字串。  | 
tag | 
字串;選用
 遠端存放區中的標記,必須指定一個分支、標記或提交。  | 
verbose | 
布林值;選用 | 
workspace_file | 
標籤 (選填)
 要用做這個存放區 `WORKSPACE` 檔案的檔案。您可以指定 `workspace_file` 或 `workspace_file_content`,也可以都不指定,但不能同時指定兩者。  | 
workspace_file_content | 
字串;選用
 這個存放區的 WORKSPACE 檔案內容。您可以指定 `workspace_file` 或 `workspace_file_content`,也可以都不指定,但不能同時指定兩者。  | 
new_git_repository
new_git_repository(name, branch, build_file, build_file_content, commit, init_submodules, patch_args, patch_cmds, patch_cmds_win, patch_tool, patches, recursive_init_submodules, remote, shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)
複製外部 Git 存放區。
複製 Git 存放區、取出指定標記或修訂版本,並提供其目標以供繫結。此外,請一併判斷實際簽出的提交 ID 和日期,並傳回含有參數的 dict,提供這項規則的可重現版本 (標記不一定會提供)。
Bazel 會先嘗試只對指定提交執行淺層擷取。 如果失敗 (通常是因為缺少伺服器支援),系統會改為完整擷取存放區。
屬性
name | 
名稱 (必填)
 這個存放區的專屬名稱。  | 
branch | 
字串;選用
 遠端存放區中的分支版本。必須指定一個分支、標記或提交。  | 
build_file | 
標籤 (選填)
 要用做這個存放區 BUILD 檔案的檔案。這項屬性是絕對標籤 (主要存放區請使用「@//」)。檔案不一定要命名為 BUILD,但可以這麼做 (例如 BUILD.new-repo-name,這樣可與存放區的實際 BUILD 檔案區別)。必須指定 build_file 或 build_file_content。  | 
build_file_content | 
字串;選用
 這個存放區的 BUILD 檔案內容。必須指定 build_file 或 build_file_content。  | 
commit | 
字串;選用
 要簽出的特定修訂版本。必須指定一個分支、標記或提交。  | 
init_submodules | 
布林值;選用
 是否要複製存放區中的子模組。  | 
patch_args | 
字串清單 (選用)
 提供給修補程式工具的引數。預設為 -p0,但通常需要 -p1 才能處理 Git 產生的修補程式。如果指定多個 -p 引數,系統會採用最後一個。如果指定 -p 以外的引數,Bazel 會改用 patch 指令列工具,而非 Bazel 原生修補程式實作。如果回溯至修補程式指令列工具,且未指定 patch_tool 屬性,系統會使用 `patch`。  | 
patch_cmds | 
字串清單 (選用)
 修補程式套用後,要在 Linux/macOS 上執行的 Bash 指令序列。  | 
patch_cmds_win | 
字串清單 (選用)
 在套用修補程式後,要在 Windows 上執行的 PowerShell 指令序列。如未設定這項屬性,系統會在 Windows 上執行 patch_cmds,這需要 Bash 二進位檔存在。  | 
patch_tool | 
字串;選用
 要使用的 patch(1) 公用程式。如果指定這項屬性,Bazel 會使用指定的修補程式工具,而非 Bazel 原生的修補程式實作項目。  | 
patches | 
標籤清單 (選用)
 解壓縮封存檔後要套用為修補程式的檔案清單。根據預設,這項規則會使用 Bazel 原生修補程式實作項目,該項目不支援模糊比對和二進位修補程式,但如果指定 `patch_tool` 屬性,或 `patch_args` 屬性中含有 `-p` 以外的引數,Bazel 就會改用修補指令列工具。  | 
recursive_init_submodules | 
布林值;選用
 是否要在存放區中以遞迴方式複製子模組。  | 
remote | 
字串;必填
 遠端 Git 存放區的 URI  | 
shallow_since | 
字串;選用
 選用日期,不得晚於指定的提交;如果指定標記或分支 (一律可使用 --depth=1 複製),則不允許使用這個引數。如果設定的日期接近指定的提交,即使伺服器不支援任意提交的淺層擷取作業,您仍可淺層複製存放區。由於 git 的 --shallow-since 實作方式有錯誤,因此不建議使用這個屬性,否則可能會導致擷取失敗。  | 
strip_prefix | 
字串;選用
 從解壓縮的檔案中移除的目錄前置字串。  | 
tag | 
字串;選用
 遠端存放區中的標記,必須指定一個分支、標記或提交。  | 
verbose | 
布林值;選用 | 
workspace_file | 
標籤 (選填)
 要用做這個存放區 `WORKSPACE` 檔案的檔案。您可以指定 `workspace_file` 或 `workspace_file_content`,也可以都不指定,但不能同時指定兩者。  | 
workspace_file_content | 
字串;選用
 這個存放區的 WORKSPACE 檔案內容。您可以指定 `workspace_file` 或 `workspace_file_content`,也可以都不指定,但不能同時指定兩者。  |