community / community.general / 1.3.11 / module / git_config Read and write git configuration Authors: Matthew Gamble (@djmattyg007), Marius Gedminas (@mgedmin)community.general.git_config (1.3.11) — module
Install with ansible-galaxy collection install community.general:==1.3.11
collections: - name: community.general version: 1.3.11
The C(git_config) module changes git configuration by invoking 'git config'. This is needed if you don't want to use M(ansible.builtin.template) for the entire git config file (e.g. because you need to change just C(user.email) in /etc/.git/config). Solutions involving M(ansible.builtin.command) are cumbersome or don't work correctly in check mode.
- name: Add a setting to ~/.gitconfig community.general.git_config: name: alias.ci scope: global value: commit
- name: Add a setting to ~/.gitconfig community.general.git_config: name: alias.st scope: global value: status
- name: Remove a setting from ~/.gitconfig community.general.git_config: name: alias.ci scope: global state: absent
- name: Add a setting to ~/.gitconfig community.general.git_config: name: core.editor scope: global value: vim
- name: Add a setting system-wide community.general.git_config: name: alias.remotev scope: system value: remote -v
- name: Add a setting to a system scope (default) community.general.git_config: name: alias.diffc value: diff --cached
- name: Add a setting to a system scope (default) community.general.git_config: name: color.ui value: auto
- name: Make etckeeper not complaining when it is invoked by cron community.general.git_config: name: user.email repo: /etc scope: local value: 'root@{{ ansible_fqdn }}'
- name: Read individual values from git config community.general.git_config: name: alias.ci scope: global
- name: Scope system is also assumed when reading values, unless list_all=yes community.general.git_config: name: alias.diffc
- name: Read all values from git config community.general.git_config: list_all: yes scope: global
- name: When list_all is yes and no scope is specified, you get configuration from all scopes community.general.git_config: list_all: yes
- name: Specify a repository to include local settings community.general.git_config: list_all: yes repo: /path/to/repo.git
name: description: - The name of the setting. If no value is supplied, the value will be read from the config if it has been set. type: str repo: description: - Path to a git repository for reading and writing values from a specific repo. type: path scope: choices: - local - global - system description: - Specify which scope to read/set values from. This is required when setting config values. If this is set to local, you must also specify the repo parameter. It defaults to system only when not using I(list_all)=yes. type: str state: choices: - present - absent default: present description: - 'Indicates the setting should be set/unset. This parameter has higher precedence than I(value) parameter: when I(state)=absent and I(value) is defined, I(value) is discarded.' type: str value: description: - When specifying the name of a single setting, supply a value to set that setting to the given value. type: str list_all: default: 'no' description: - List all settings (optionally limited to a given I(scope)) type: bool
config_value: description: When list_all=no and value is not set, a string containing the value of the setting in name returned: success sample: vim type: str config_values: description: When list_all=yes, a dict containing key/value pairs of multiple configuration settings returned: success sample: alias.diffc: diff --cached alias.remotev: remote -v color.ui: auto core.editor: vim type: dict