.gitconfig
обычно хранится в user.home
каталоге.
Я использую другую личность для работы над проектами для компании A и что-то еще для компании B (прежде всего имя / адрес электронной почты). Как я могу иметь две разные конфигурации Git, чтобы мои проверки не сопровождались именем / адресом электронной почты?
git
git-config
прийа
источник
источник
[user] email = ...
блока, переопределит глобальное~/.gitconfig
- и это только для вашего пользователя?Есть 3 уровня git config; проектный, глобальный и системный.
Создайте специфичный для проекта конфиг, вы должны выполнить его в каталоге проекта:
Создайте глобальный конфиг:
Создайте конфигурацию системы:
И, как вы можете догадаться, проект переопределяет глобальную и глобальную систему переопределений.
источник
git config user.name
илиgit config user.email
покажу вам имя или адрес электронной почты, которые Git будет использовать для текущего репозитория.Начиная с git версии 2.13, git поддерживает условную конфигурацию включает в себя . В этом примере мы клонируем репо компании A в
~/company_a
каталоге, а репозитории компании B в~/company_b
.В вашей
.gitconfig
вы можете положить что-то вроде этого.Пример содержимого .gitconfig-company_a
Пример содержимого .gitconfig-company_b
источник
Спасибо @ crea1
Небольшой вариант:
Как написано на https://git-scm.com/docs/git-config#_includes :
Поэтому я использую в моем случае
~ / .gitconfig :
Поэтому, если каталог проекта находится в моем
~/wokspace/
, пользовательские настройки по умолчанию заменяются на~ / .gitconfig-w :
источник
git config user.name
возвращать правильный, все должно быть в порядке. Вы находитесь под GNU / Linux или другой ОС?Чтобы быть явным, вы также
--local
можете использовать текущий конфигурационный файл репозитория :источник
Вы также можете указать переменную окружения
GIT_CONFIG
на файл, которыйgit config
следует использовать. СGIT_CONFIG=~/.gitconfig-A git config key value
указанным файлом манипулируют.источник
Я делаю это для своей электронной почты следующим образом:
Затем, когда я клонирую новый рабочий проект, мне остается только запустить
git hobbyprofile
его, и он будет настроен для использования этого электронного письма.источник
Другой способ - использовать direnv и разделять конфигурационные файлы на каталог. Например:
Каждый
.envrc
должен содержать что-то вроде этого:И
.gitconfig
это обычный gitconfig с желаемыми значениями.источник
Вы можете настроить конфигурацию Git проекта, изменив файл конфигурации конкретного хранилища (то есть
/path/to/repo/.git/config
). Кстати,git config
пишет в этот файл по умолчанию:Я предпочитаю создавать отдельные профили для разных проектов (например, в
~/.gitconfig.d/
) и затем включать их в конфигурационный файл репозитория:Это хорошо работает, если вам нужно использовать один и тот же набор параметров в нескольких репозиториях, которые принадлежат одному проекту. Вы также можете настроить псевдонимы оболочки или пользовательскую команду Git для управления профилями.
источник
Я в одной лодке. Я написал небольшой скрипт для управления ими. https://github.com/thejeffreystone/setgit
источник
-s
не обрабатывается в вашем скрипте Bash.У меня была ошибка при попытке
git stash
моих локальных изменений. Ошибка от git гласила: «Пожалуйста, скажи мне, кто ты», а затем сказал: «Запуститьgit config --global user.email "you@example.com
иgit config --global user.name "Your name"
установить личность учетной записи по умолчанию». Однако вы должны опустить --global, чтобы установить идентичность только в вашем текущем хранилище.источник