git_config – Чтение и запись конфигурации git
Обзор
- Модуль
git_configизменяет конфигурацию git, вызывая ‘git config’. Это необходимо, если вы не хотите использовать шаблон для всего файла конфигурации git (например, потому что вам нужно изменить толькоuser.emailв /etc/.git/config). Решения, использующие команду, громоздки или не работают корректно в режиме проверки.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- git
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| list_all
boolean
|
|
Список всех настроек (при необходимости ограниченных заданным scope) |
| name
-
|
Имя настройки. Если значение не указано, значение будет считано из конфигурации, если оно установлено. | |
| repo
-
|
Путь к репозиторию git для чтения и записи значений из конкретного репозитория. | |
| scope
-
|
|
Указывает, из какого scope читать/устанавливать значения. Это требуется при установке значений конфигурации. Если значение установлено в local, необходимо также указать параметр repo. По умолчанию используется system, если не используется list_all=yes. |
| state
-
добавлен в 2.8 |
|
Указывает, что настройка должна быть установлена/убрана. Этот параметр имеет больший приоритет, чем параметр value: когда state=absent и value определен, value игнорируется. |
| value
-
|
При указании имени одной настройки укажите значение для установки этой настройки. |
Примеры
# Set some settings in ~/.gitconfig
- git_config:
name: alias.ci
scope: global
value: commit
- git_config:
name: alias.st
scope: global
value: status
# Unset some settings in ~/.gitconfig
- git_config:
name: alias.ci
scope: global
state: absent
# Or system-wide:
- git_config:
name: alias.remotev
scope: system
value: remote -v
- git_config:
name: core.editor
scope: global
value: vim
# scope=system is the default
- git_config:
name: alias.diffc
value: diff --cached
- git_config:
name: color.ui
value: auto
# Make etckeeper not complain when invoked by cron
- git_config:
name: user.email
repo: /etc
scope: local
value: 'root@{{ ansible_fqdn }}'
# Read individual values from git config
- git_config:
name: alias.ci
scope: global
# scope: system is also assumed when reading values, unless list_all=yes
- git_config:
name: alias.diffc
# Read all values from git config
- git_config:
list_all: yes
scope: global
# When list_all=yes and no scope is specified, you get configuration from all scopes
- git_config:
list_all: yes
# Specify a repository to include local settings
- git_config:
list_all: yes
repo: /path/to/repo.git
Значения возврата
Общие значения возврата описаны здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| config_value
строка
|
успех | При list_all=no и value не задано, строка, содержащая значение настройки в name
Пример:
vim
|
| config_values
словарь
|
успех | При list_all=yes, словарь, содержащий пары ключ/значение для нескольких настроек конфигурации
Пример:
{'core.editor': 'vim', 'color.ui': 'auto', 'alias.diffc': 'diff --cached', 'alias.remotev': 'remote -v'}
|
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [preview]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Matthew Gamble (@djmattyg007)
- Marius Gedminas (@mgedmin)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/git_config_module.html