Динамический git config user.name - зависит от имени хоста - PullRequest
0 голосов
/ 15 мая 2018

Я использую git с двух компьютеров.

Я хотел бы:

  • Использовать один и тот же файл ~/.gitconfig на двух компьютерах.
  • Разные user.name для коммитов с одного компьютера или другого.

Короче говоря, я бы хотел иметь что-то вроде user.name = "Mic - #{Hostname}", с Hostname динамически читается.

Есть ли способ достичь этого?

Единственный другой способ, который я вижу, это вручную изменить user.name на каждом git-репоЯ использую на этих двух компьютерах - но я не нахожу это чистым.


Решение для тех, кто в этой ситуации : Кажется, нет встроенного решения, как это делает gitне автоматическое расширение параметров конфигурации.Поэтому, следуя приведенным ниже советам, я просто ввожу следующую команду в своем сценарии развертывания после импорта нового (общего) ~/.gitconfig:

git config --global user.name "Mic [`hostname`]"

Таким образом, имя git всегда обновляется.

В зависимости от вашей конфигурации, вы также можете поместить это в ~/.bashrc или в ~/bash_profile, который вы используете - хотя это выглядит немного излишним.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Git не допускает расширения переменных в файле конфигурации.

Для этого вы можете добавить строку в ваш .profile или любой файл запуска, который вы используете для вызова

git config --global user.name ${GIT_USER_NAME}
git config --global user.email ${GIT_USER_EMAIL}

и установите их до вызова этого.

0 голосов
/ 15 мая 2018

Не хранить имя в ~/.gitconfig, а в ~/.bash_profile установленных переменных среды:

GIT_AUTHOR_NAME="Mic - $HOSTNAME"
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
export GIT_AUTHOR_NAME GIT_COMMITTER_NAME
...