У каждого из нас скорее всего есть разные репозитории на работе и дома, или разные хранилища GitHub, GitLab, Bitbucket. Коммиты желательно должны подписываться разными username и email в соответствии с данными профиля.
А то получается один коммит сделал Konstantin Sh, а следующий Shibkov Konstantin и с другим email. И если хочется этого избежать - сейчас это пофиксим.
Настройки для отдельного репозитория
Самый простой и быстрый вариант, это для нужного репозитория прописать свою пару email/username. Достаточно выполнить две команды внутри репозитория:
git config user.email k@shibkov.com
git config user.name Konstantin Shibkov
Теперь для репозитория используется выбранная пара. Это отлично работает для одного репозитория.
Единая настройка для множества реп
Если у вас много репозиториев, например множество проектов на github, микросервисы. Прописывать для каждого репа уже муторно, да и просто забыть это сделать после клонирования.
Начиная с Git
версии 2.13,
появилась возможность выбора .gitconfig
файла по условию. Например, для определенной директории
настроить свою конфигурацию и тогда все репозитории будут использовать единые настройки.
Посмотрим содержимое .gitconfig
. Во всех системах он лежит в домашней директории пользователя
по пути ~/.gitconfig
У меня выглядит так:
[user]
name = Konstantin Shibkov
email = k@shibkov.com
И рабочие репозитории лежат в директории ~/work
. Для всех реп в директории, хотим использовать связку
Konstantin Sh
и work@work.com
.
Создадим новый файл .gitconfig
в ~/work
и записываю:
[user]
name = Konstantin Sh
email = work@work.com
И в основном файле ~/.gitconfig
добавляем условие:
[user]
name = Konstantin Shibkov
email = k@shibkov.com
[includeIf "gitdir:~/work/"]
path = ~/work/.gitconfig
После этого, все репозитории внутри work будут использовать данные name и email из ~/work/.gitconfig
Настройки из условия работают только в диреториях git, если вы проверите name и email в самой work или вложенных папок, в которых нет git репозитория, - то увидите данные из базового конфига.