community / community.general / 0.2.1 / module / git_config Read and write git configuration Authors: Matthew Gamble (@djmattyg007), Marius Gedminas (@mgedmin)community.general.git_config (0.2.1) — module
Install with ansible-galaxy collection install community.general:==0.2.1
collections: - name: community.general version: 0.2.1
The C(git_config) module changes git configuration by invoking 'git config'. This is needed if you don't want to use M(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(command) are cumbersome or don't work correctly in check mode.
- name: Add a setting to ~/.gitconfig git_config: name: alias.ci scope: global value: commit
- name: Add a setting to ~/.gitconfig git_config: name: alias.st scope: global value: status
- name: Remove a setting from ~/.gitconfig git_config: name: alias.ci scope: global state: absent
- name: Add a setting to ~/.gitconfig git_config: name: core.editor scope: global value: vim
- name: Add a setting system-wide git_config: name: alias.remotev scope: system value: remote -v
- name: Add a setting to a system scope (default) git_config: name: alias.diffc value: diff --cached
- name: Add a setting to a system scope (default) git_config: name: color.ui value: auto
- name: Make etckeeper not complaining when it is invoked by cron git_config: name: user.email repo: /etc scope: local value: 'root@{{ ansible_fqdn }}'
- name: Read individual values from git config git_config: name: alias.ci scope: global
- name: Scope system is also assumed when reading values, unless list_all=yes git_config: name: alias.diffc
- name: Read all values from git config git_config: list_all: yes scope: global
- name: When list_all is yes and no scope is specified, you get configuration from all scopes git_config: list_all: yes
- name: Specify a repository to include local settings 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. repo: description: - Path to a git repository for reading and writing values from a specific repo. 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. 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.' value: description: - When specifying the name of a single setting, supply a value to set that setting to the given value. 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