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

支持: 不适用

此操作不会修改状态。

当处于差异模式时,将返回有关已更改的内容(或在 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)