git config: имя, почта и настройки

Обновлено 31 июля 2026 г.

git config хранит настройки git: имя и почту, которыми подписывается каждый коммит, редактор для сообщений и остальные ключи.

Имя и почту задают один раз, сразу после установки. Подпись потом видна в истории всем, кто её откроет, поэтому пиши то имя, под которым тебя узнают коллеги.

$ git config --global user.name "Anna Petrova"
$ git config --global user.email "anna@example.com"

Кавычки стоят из-за пробела в имени. Почта не обязана быть действующей, но лучше указать ту, к которой привязан аккаунт на GitHub: по ней сайт свяжет коммиты с профилем.

Три уровня настроек

Флаг --global значит «для всех моих репозиториев на этой машине». Такие ключи уходят в файл ~/.gitconfig в домашнем каталоге. Без флага git config пишет в .git/config внутри текущего репозитория, и локальная запись перекрывает глобальную. Так удобно поставить рабочую почту одному проекту, оставив личную для всего остального.

$ git config user.email "anna@company.com"   # только для этого репозитория
$ git config --get user.email
anna@company.com

Есть и третий уровень, системный (--system): он общий для всех пользователей машины. Трогать его почти не приходится.

Посмотреть, что настроено

$ git config --global --list
user.name=Anna Petrova
user.email=anna@example.com
core.editor=nano

git config --list --show-origin дописывает к каждой строке файл, из которого она пришла. Это самый быстрый способ понять, почему коммиты подписаны не так, как ты ждёшь.

Сам ~/.gitconfig - обычный текстовый файл, его можно открыть глазами и править руками:

$ cat ~/.gitconfig
[user]
	name = Anna Petrova
	email = anna@example.com

Редактор, который git открывает для сообщения коммита, задаёт ключ core.editor. Во многих системах по умолчанию стоит vim, и выйти из него с непривычки трудно. Поставь то, чем пользуешься:

$ git config --global core.editor nano

Частые ошибки

Пропущенная настройка всплывает на первом же коммите. Git подставит имя пользователя системы и имя компьютера, подпишет снимок чем-то вроде anna@MacBook-Air.local и напечатает предупреждение с советом выполнить git config --global --edit. Подпись последнего коммита чинится командой git commit --amend --reset-author.

Вторая ошибка - задать почту без --global, стоя не в том каталоге. Настройка ляжет в один репозиторий, а во всех остальных останется прежняя. Проверяй результат через git config --list --show-origin.

Где это в учебнике

Тема разобрана здесь: Глава 2. Первый репозиторий.

Потренироваться руками - в интерактивном уроке Первый репозиторий.