Настройка нескольких аккаунтов GIT на одном ПК

Если у вас есть несколько GIT аккаунтов на одной или нескольких платформах, ими можно пользоваться на одном ПК без каких-либо проблем. Для начала необходимо настроить SSH ключи для каждого аккаунта. Как это сделать:

  1. В терминале командной строки или git bash перейти в папку .ssh Она находится в папке пользователя. Обычно

    C:\Users\YOU.ssh

  2. Сгенерировать SSH для GIT аккаунта. Для того, чтобы узнать какую именно строчку нужно написать, можно загуглить "generate ssh github" Для bitbucket:
    ssh-keygen -t rsa -C "your_email@example.com"
    
    Для github:
    ssh-keygen -t ed25519 -C "your_email@example.com"
    
  3. Заполнить имя, нужно выбрать не стандартное имя, например имя компании, или указав что аккаунт личный.
  4. Ввести пароль, который будет запрашиваться каждый раз. Можно не вводить.
  5. Ввести полученый SSH в настройки GIT аккаунта. Я делала это вручную в настройках. Можно через консоль.
  6. Далее необходимо настроить config в папке .ssh куда мы создавали SSH ключи Структура файла:
Host PRIVATE_NAME
  HostName host_address
  User user
  IdentityFile path

Host PRIVATE_NAME
  HostName host_address
  User user
  IdentityFile path

Пример:

Host bitbucket_company1
  HostName bitbucket.org
  User user1
  IdentityFile /c/Users/YOU/.ssh/id_company1

Host github_my
  HostName github.com
  User user
  IdentityFile /c/Users/YOU/.ssh/id_private

Host bitbucket_company2
  HostName bitbucket.org
  User user2
  IdentityFile /c/Users/WORK/.ssh/id_company2

С этим уже можно работать. Далее настроим доступ по папкам. Настроим так, чтобы в определенных папках работал нужный GIT Есть файл .gitconfig в папке пользователя. У меня /c/Users/WORK/ Там нужно указать главный аккаунт и папки к дополнительным. Например:

[user]
    name = user
    email = user@mail.ru

[includeIf "gitdir/i:d:/other_work/"]
    path = d:/other_work/.gitconfig

И так же в уточняющем .gitconfig указать подходящие данные user