Я обычно работаю над разными проектами Git, которым нужны разные идентификаторы Git. Мой рабочий процесс для новых репозиториев был
- Клонировать новый репозиторий.
- Перейти в клонированный репозиторий.
- git config user.email sparsick @ web.de`
Я никогда не был доволен этим решением, но оно работает. К счастью, твит @BenediktRitter и один из @wosc предлагают две альтернативы моему методу.
Первый метод основан на функции Git «Условные включения» (требуется версия Git как минимум 2.13). Идея состоит в том, что вы определяете идентичность Git по умолчанию и отдельные идентификаторы Git для конкретного каталога. Это означает, что каждый репозиторий, который клонируется под одним из определенных каталогов, автоматически имеет свои идентификаторы Git.
Второй метод основан на скрипте Python, вдохновленном расширением Mercurial hg-persona. Идея заключается в том, что вы можете индивидуально установить идентичность Git для каждого репозитория Git. Это замена одной команды для пользователя git config. * Command serie.
В следующих двух разделах я хотел бы кратко описать, как настроить и как использовать эти два метода. Я проверил это в системе на основе Debian. Давайте начнем с первого.
Суммируйте идентичность Git для нескольких репозиториев Git
Как описано выше, этот метод основан на функции Git «Условные включения». Поэтому убедитесь, что вы установили свой Git-клиент как минимум в версии 2.13. Предположим, мы хотим иметь две идентичности Git, одну для Github и одну для работы. Поэтому создайте два файла .gitconfig в вашей домашней папке.
1
2
|
touch ~/.gitconfig_github touch ~/.gitconfig_work |
Затем добавьте конкретный идентификатор Git в соответствующие файлы .gitconfig .
1
2
3
4
5
|
1
2
3
4
5
|
Следующим шагом является добавление этих двух файлов .gitconfig в наш глобальный и указание, когда их использовать.
01
02
03
04
05
06
07
08
09
10
11
|
~/.gitconfig [user] name = defaultName email = [email protected] [includeIf "gitdir:~/workspace_work/" ] path = .gitconfig_work [includeIf "gitdir:~/workspace_github/" ] path = .gitconfig_github |
Теперь каждый репозиторий, клонированный под ~ / workspace_work /, автоматически имеет идентификатор Git для Work ( .gitconfig_work ), а каждый репозиторий, клонированный под ~ / workspace_github / , автоматически имеет идентификатор Git для Github ( .gitconfig_github ). В противном случае используется идентификатор Git по умолчанию.
Настройка идентификатора Git индивидуально для каждого репозитория Git
Для второго способа вы должны установить ws.git-persona из PyPI.
1
2
|
sudo apt-get install pip # if PyPI isn't install pip install ws.git-persona |
Затем откройте свой глобальный ~ / .gitconfig и добавьте свои персоны. В наших случаях мы добавляем две персоны, одну для Github и одну для работы.
1
2
3
4
5
|
~/.gitconfig [persona] github = YourNameForGithub <[email protected]> work = YourNameForWork <[email protected]> |
На следующем шаге мы хотим переключить нашу идентичность Git в репозитории Git. Теперь это возможно с помощью команды git-persona . В следующем примере мы переключаемся на идентификатор для Github, а затем на идентификатор для работы.
01
02
03
04
05
06
07
08
09
10
11
12
|
> git-persona -n github > git config user.name YourNameForGithub > git config user.email > git-persona -n work > git config user.email > git config user.name YourNameForWork |
Если у вас есть другие методы для управления разными идентификаторами Git, дайте мне знать об этом и напишите комментарий.
связи
- Сообщение в блоге о функции Git «Условные включения».
- Github хранилище git-персон.
Ссылка: | Pimp my Git — управляйте различными идентификаторами Git от нашей партнерши по JCG Сандры Парсик в блоге SKM IT WORLD . |