Как сказать git, чтобы использовать правильную личность (имя и адрес электронной почты) для данного проекта?
Я использую свой личный ноутбук как для работы, так и для личных проектов, и я хотел бы использовать свой рабочий адрес электронной почты для моих коммитов на работе (gitolite) и мой личный адрес электронной почты для остальных (github).
Я читал о следующих решениях, которые являются либо глобальными, либо временными:
git config --global user.email "[email protected]"git config user.email "[email protected]"git commit --author "Bob <[email protected]>"- установка одного из
GIT_AUTHOR_EMAIL,GIT_COMMITTER_EMAILилиEMAILокружающая среда переменные
одним из решений является запуск вручную функции оболочки, которая устанавливает мою среду в работа или персональный, но я почти уверен, что я часто забываю переключиться на правильную идентичность, что приводит к совершению под неправильной идентичностью.
есть ли способ привязки определенного репозитория, название проекта и т. д. к личности (имя, адрес электронной почты)? Что делают люди?
6 ответов:
git config user.email "[email protected]"выполнение этого внутри РЕПО установит конфигурацию на этом РЕПО, а не глобально.
похоже, что это в значительной степени то, что вы ищете, если я не ошибаюсь.
вы должны использовать местный ниже:
местный
git config user.email [email protected] git config user.name 'Mahmoud Zalt'local get
git config --get user.email git config --get user.nameлокальный конфигурационный файл находится в каталоге проекта:
.git/config.глобальный набор
git config --global user.email [email protected] git config --global user.name 'Mahmoud Zalt'global get
git config --global --get user.email git config --global --get user.nameглобальный конфигурационный файл в вашем домашнем каталоге:
~/.gitconfig.не забудьте процитировать пробелы и т. д., Для пример: 'FirstName LastName'
отредактируйте файл конфигурации с помощью in".папка" git " для поддержания другого имени пользователя и электронной почты зависит от репозитория
- перейдите в свой репозиторий
- Показывать скрытые файлы и перейти к ".папка ГИТ"
- найдите файл "config"
- добавить следующие строки в EOF
[пользователь]
name = Bob
электронная почта = [email protected]
Это ниже команды показать вам какое имя пользователя и адрес электронной почты установлены для этого репозитория.
git config --get user.name
git config --get user.электронная почта
пример: для моего, что конфигурационный файл в D:\workspace\eclipse\ipchat\.git\config
здесь ipchat - это мое имя РЕПО
Если вы используете
git config user.email "[email protected]"Он будет привязан к текущему проекту вы.Это то, что я делаю для своих проектов. Я устанавливаю соответствующий идентификатор, когда я клонирую / инициализирую РЕПО. Это не доказательство дурака (если вы забудете и нажмете, прежде чем вы поймете, что вас облили), но это примерно так же хорошо, как вы можете получить без возможности сказать
git config --global user.email 'ILLEGAL_VALUE'на самом деле, вы можете сделать недопустимое значение. Установите свой
git config --global user.name $(perl -e 'print "x"x968;')затем, если вы забыли установить свои неглобальные значения вы получите сообщение об ошибке.
[редактирование] В другой системе мне пришлось увеличить число x до 968, чтобы заставить его потерпеть неудачу с "fatal: Impossibly long personal identifier". Та же версия git. Странный.
Если вы не используете
--globalпараметр он будет устанавливать переменные только для текущего проекта.
начиная с Git 2.13 вы можете использовать
includeIfв вашем gitconfig включить файл с другой конфигурацией, основанной на пути к репозиторию, где вы запускаете свои команды git.Как только я получу это работает сам я буду обновлять с лучшим примером.
https://motowilliams.com/conditional-includes-for-git-config#disqus_thread
чтобы использовать Git 2.13, вам нужно будет либо добавить PPA (Ubuntu/Debian), либо загрузить двоичные файлы и установите (Windows / другой Linux).
Comments