За последние 24 часа нас посетили 22292 программиста и 1057 роботов. Сейчас ищут 649 программистов ...

Несколько git пользователей на одной машине

Тема в разделе "Версионность, тестирование и развёртывание", создана пользователем marlin, 25 фев 2020.

  1. marlin

    marlin Новичок

    С нами с:
    19 июн 2019
    Сообщения:
    61
    Симпатии:
    3
    Привет.
    Думаю можно ли без виртуалок(а то с ними тупит) на одной машине работать с удаленным репозиторием сразу под несколькими пользователями?
    Поклонировать в разные папочки и в .git/config имя с емейлом можно сменить.
    Но доступ идет ведь по ssh, а там один ключ для хоста.

    Для чего это?
    Хотел сам сымитировать работу команды на гитлабе, все эти разные роли и работы с ветками по git-flow, кто что должен делать.
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.236
    Адрес:
    там-сям
    Можно. Надо будет завести "синонимы" для github/gitlab/что-там-ещё. Не знаю как на "классической" винде, а во всём прогрессивном мире в домашнем каталоге пользователя есть [ скрытая ] папка .ssh а в ней может быть файл конфигурации config.

    Так вот, в этом файле можно определить имена и правила доступа к различным сервисам по протоколу SSH. В том числе дсотуп к git.
    Типа такого:
    ~/.ssh/config
    Код (Text):
    1.  
    2. Host gitlab.com
    3.   User git
    4.   Hostname gitlab.com
    5.   Port 22
    6.   IdentityFile ~/.ssh/id_rsa
    7.  
    8. Host john.gitlab.com
    9.   User git
    10.   Hostname gitlab.com
    11.   Port 22
    12.   IdentityFile ~/.ssh/john/gitlab_deploy_id_rsa
    То есть при обращении к john.gitlab.com будет фактически использоваться сервер gitlab.com, но при этом приватный ключ будет браться из указанного места.
    Потом, когда делаешь git clone или git remote add, то упоминаешь не главный адрес, а "синоним" вроде
    Код (Text):
    1.  
    2. git clone git@john.gitlab.com/blablabla/project.git
    Этот адрес сохранится в свойствах твоей локальной копии (в папке .git).
    Там же можно прописать имя и почту альтернативного пользователя — для упоминания в коммитах:
    Код (Text):
    1.  
    2. cd project
    3. git config --local user.name John
    4. git config --local user.email john.joe@gmail.com
    P.S. Я правда не знаю что на винде служит аналогом файла ~/.ssh/config, т.к. всю дорогу стремился к унификации среды и ставил cygwin для имитации юниксового окружения.
    Кто в курсе, подскажите про винду.
     
    #2 artoodetoo, 25 фев 2020
    Последнее редактирование: 25 фев 2020
    marlin нравится это.
  3. marlin

    marlin Новичок

    С нами с:
    19 июн 2019
    Сообщения:
    61
    Симпатии:
    3
    Все получилось. Большое спасибо.

    На винде 7 этот конфиг находится: C:\Users\ИмяПользователя\.ssh\config