Обычно для работы используется корпоративный Git-аккаунт с рабочей электронной почтой, а для личных проектов — персональный.
В этом руководстве показано, как разделить эти профили, чтобы рабочие проекты подписывались рабочими данными, а личные — личными.
Я использую следующую структуру каталогов:
. # Корень диска (d:)
└── projects # Каталог с проектами
└── chernyavsky # Персональные проекты
└── company1.com # Рабочие проекты компании "Рога и копыта"
└── company2.kz # Рабочие проекты компании "Грива и хвост"
Git использует два уровня конфигурации: глобальный и локальный.
Локальный .gitconfig
находится в папке конкретного проекта, глобальный — в домашней директории пользователя Windows.
Чтобы посмотреть все текущие настройки и откуда они взяты, используйте:
git config --list --show-origin
Нас интересует глобальный .gitconfig
, обычно расположенный по пути:
C:\Users\<Username>\.gitconfig
В нём задаются имя пользователя и email по умолчанию:
git config --global user.name "Alexei Chernyavsky"
git config --global user.email example@gmail.com
Эти команды нужно выполнить сразу после установки Git — иначе не сможем сделать коммит.
В результате в .gitconfig
появится:
[user]
name = Alexei Chernyavsky
email = example@gmail.com
Обычно здесь указывается личный аккаунт.
Чтобы добавить рабочий профиль, создайте рядом с глобальным конфигом файл
.gitconfig-company1_com
со следующим содержимым:
[user]
name = Alexei Chernyavsky
email = a.chernyavsky@company1.com
signingkey = A4978EBEA94B8EA9DF5CC748131DC8B25EC79DF2D
если вы используете GPG-подпись коммитов — укажите
signingkey
.
Теперь подключим его в глобальном .gitconfig
, добавив условное включение профиля для нужной директории:
[user]
name = Alexei Chernyavsky
email = example@gmail.com
[includeIf "gitdir/i:d:/projects/company1.com/**"]
path = .gitconfig-company1_com
После этого в проектах внутри d:/projects/company1.com/
будут использоваться рабочие имя и email.
Проверьте:
git config --get user.email
Если находитесь в каталоге с рабочими проектами, где инициализирован репозиторий (т.е. в ней есть каталог .git
), команда вернет данные рабочего профиля.