Інколи потрібно з однієї машини працювати з різними GitHub-аккаунтами, використовуючи різні облікові дані та ключі.
Можна використати локальну конфігурацію на рівні репозиторію. Заходимо в репозиторій і вводимо:
git config user.name "Company Dev"
git config user.email "your.corp.email@company.com"
або відповідно
git config user.name "Your Name"
git config user.email "your.personal.email@gmail.com"
Перевірити налаштування:
git config --show-origin user.name
git config --show-origin user.email
Використання двох SSH-ключів (для GitHub/GitLab/Bitbucket). Всі наступні команди для Linux (Ubuntu).
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_personal
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_corporate
Отримати публічний ключ:
cat ~/.ssh/id_ed25519_personal.pub
Цей код потрібно додати у відповідний аккаунт у GitHub (GitLab/Bitbucket). Для цього перейти в https://github.com/settings/keys
Налаштовуємо конфігурацію:
nano ~/.ssh/config
І додаємо код:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
Host corp-git
HostName git.company.com
User git
IdentityFile ~/.ssh/id_ed25519_corporate
Тоді для роботи з корпоративним git можна використовути команди типу:
git clone git@corp-git:team/repo.git
Якщо обидва аккаунти на GitHub, то налаштування можуть мати вигляд типу:
# Персональний GitHub
Host github-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
IdentitiesOnly yes
# Корпоративний GitHub
Host github-corp
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_corporate
IdentitiesOnly yes
Тоді команди для роботи з git будуть мати вигляд:
git clone git@github-corp:ORG/repo.git
Перевірка (мають бути різні usernames)
ssh -T git@github-personal
ssh -T git@github-corp
Коментарі
Дописати коментар