Как сказать 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 окружающая среда переменные


одним из решений является запуск вручную функции оболочки, которая устанавливает мою среду в работа или персональный, но я почти уверен, что я часто забываю переключиться на правильную идентичность, что приводит к совершению под неправильной идентичностью.



есть ли способ привязки определенного репозитория, название проекта и т. д. к личности (имя, адрес электронной почты)? Что делают люди?

711   6  

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

    Ничего не найдено.