community.general.git_config_info 模块 – 读取 Git 配置

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定: community.general.git_config_info

community.general 8.1.0 中的新增功能

概要

要求

执行此模块的主机需要以下要求。

  • git

参数

参数

注释

name

字符串

要读取的设置的名称。

如果未提供,则所有设置都将作为 config_values 返回。

path

path

要从中读取值的 Git 存储库或文件的路径。

如果 scopelocal,则此路径必须指向要从中读取的存储库。

如果 scopefile,则此路径必须指向要从中读取的特定 Git 配置文件。

否则,如果设置了 path,则会忽略它。

scope

字符串

指定要从中读取值的范围。

如果设置为 global,则使用全局 Git 配置。 path 将被忽略。

如果设置为 system,则使用系统 Git 配置。 path 将被忽略。

如果设置为 local,则必须将 path 设置为要从中读取的存储库。

如果设置为 file,则必须将 path 设置为要从中读取的配置文件。

选项

  • "global"

  • "system" ← (默认)

  • "local"

  • "file"

属性

属性

支持

描述

check_mode

支持:完全支持

此操作不会修改状态。

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持: N/A

此操作不会修改状态。

在差异模式下,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

示例

- name: Read a system wide config
  community.general.git_config_info:
    name: core.editor
  register: result

- name: Show value of core.editor
  ansible.builtin.debug:
    msg: "{{ result.config_value | default('(not set)', true) }}"

- name: Read a global config from ~/.gitconfig
  community.general.git_config_info:
    name: alias.remotev
    scope: global

- name: Read a project specific config
  community.general.git_config_info:
    name: color.ui
    scope: local
    path: /etc

- name: Read all global values
  community.general.git_config_info:
    scope: global

- name: Read all system wide values
  community.general.git_config_info:

- name: Read all values of a specific file
  community.general.git_config_info:
    scope: file
    path: /etc/gitconfig

返回值

常见的返回值已在 此处 记录,以下是此模块特有的字段

描述

config_value

字符串

当设置了 name 时,一个包含 name 中设置值的字符串。如果未设置 name,则为空。如果一个配置键,例如 push.pushoption 包含多个条目,则此处只返回第一个条目。

返回:如果设置了 name,则返回成功

示例: "vim"

config_values

字典

这是一个字典,它将 Git 配置设置映射到其值的列表。

当未设置name时,此处将返回所有配置设置。

当设置name时,此处只返回name中指定的设置。如果该设置未设置,则该键仍然存在,其值将为空列表。

返回:成功

示例: {"alias.remotev": ["remote -v"], "color.ui": ["auto"], "core.editor": ["vim"], "push.pushoption": ["merge_request.create", "merge_request.draft"]}

作者

  • Guenther Grill (@guenhter)