Help us learn about your current experience with the documentation. Take the survey.

仓库子模块 API

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

使用此 API 更新 Git 仓库特定分支中的 Git 子模块 引用。

更新仓库中的现有子模块引用

在某些工作流中,特别是自动化工作流中,您可以更新子模块的引用,以保持使用该模块的其他项目为最新状态。

PUT /projects/:id/repository/submodules/:submodule
属性 类型 必需 描述
id integer/string 项目 ID 或 URL 编码的项目路径
submodule string 子模块的 URL 编码完整路径。例如,lib%2Fclass%2Erb
branch string 要提交到的分支名称
commit_sha string 要更新到的完整提交 SHA
commit_message string 提交信息。如果未提供信息,将设置默认信息
curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/repository/submodules/lib%2Fmodules%2Fexample" \
--data "branch=main&commit_sha=3ddec28ea23acc5caa5d8331a6ecb2a65fc03e88&commit_message=Update submodule reference"

示例响应:

{
  "id": "ed899a2f4b50b4370feeea94676502b42383c746",
  "short_id": "ed899a2f4b5",
  "title": "Updated submodule example_submodule with oid 3ddec28ea23acc5caa5d8331a6ecb2a65fc03e88",
  "author_name": "Dmitriy Zaporozhets",
  "author_email": "[email protected]",
  "committer_name": "Dmitriy Zaporozhets",
  "committer_email": "[email protected]",
  "created_at": "2018-09-20T09:26:24.000-07:00",
  "message": "Updated submodule example_submodule with oid 3ddec28ea23acc5caa5d8331a6ecb2a65fc03e88",
  "parent_ids": [
    "ae1d9fb46aa2b07ee9836d49862ec4e2c46fbbba"
  ],
  "committed_date": "2018-09-20T09:26:24.000-07:00",
  "authored_date": "2018-09-20T09:26:24.000-07:00",
  "status": null
}