|
|||||||
Использовать несколько GitHub аккаунтов на одной машине
Время создания: 11.11.2019 19:20
Автор: br0ke
Текстовые метки: git, github, ssh, keys, account, accounts, multiple
Раздел: Информационные технологии - Git
Запись: and-semakin/mytetra_data/master/base/1573482054cyr9y56a4f/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
У человека есть два аккаунта на GitHub -- личный и рабочий. GitHub не позволяет загрузить один и тот же ключ SSH в разные аккаунты, а использовать HTTPS и всегда вводить логин/пароль неудобно. Это проблема. 1. Определиться, как из аккаунтов будет основным, а какой "вторичным". Тот аккаунт, где планируется часто клонировать репозитории должен быть основным аккаунтом, его SSH-ключи будут использоваться по умолчанию. Для клонирования репозитория от лица "вторичного" аккаунта придётся применять некоторый хак. Допустим, что личный аккаунт будет основным, а рабочий -- вторичным. 2. Генерируем новые SSH-ключи для для рабочего аккаунта, используя рабочую почту: ssh-keygen -t rsa -b 4096 -C "andrey.semakin@incountry.com" Когда утилита ssh-keygen спросит куда сохранить ключи, нужно ввести новый путь, например: ~/.ssh/work_id_rsa 3. Загружаем содержимое ~/.ssh/work_id_rsa.pub на GitHub: https://github.com/settings/keys 4. Создаём файл ~/.ssh/config со следующим содержимым: # https://stackoverflow.com/a/11251797/10650942 Host incountry.github.com Hostname github.com IdentityFile ~/.ssh/work_id_rsa IdentitiesOnly yes 5. Устанавливаем разрешения на файл: chmod 600 ~/.ssh/config 6. Клонируем репозиторий по SSH. Нужно заменить github.com на то, что записано в файл в пункте 4: git clone git@incountry.github.com:incountry/incutils.git 7. Успех! Git использует SSH-ключи "вторичного" аккаунта, а не основного, таким образом, можно скачивать приватные репозитории. 8. Если репозиторий уже склонирован используя другой способ (например, HTTPS), то его можно обновить: git remote set-url origin git@incountry.github.com:incountry/incutils.git git remote set-url --push origin git@incountry.github.com:incountry/incutils.git 9. Не забудьте сменить имя и адрес электронной почты на рабочие: git config --local user.name "Andrey Semakin" git config --local user.email "andrey.semakin@incountry.com" |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|