1

Я использую SVN, но я хотел бы перейти на Git по многим причинам.

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

В настоящее время я использую svn и подключаюсь к серверам, используя ssh и опцию -A, которая экспортирует мой агент аутентификации в удаленный сеанс. Таким образом, я могу выполнить фиксацию в svn-хранилищах по протоколу svn+ssh без необходимости ввода имени пользователя / пароля или чего-либо еще. И это на каждом сервере, где есть проверка хранилища, без необходимости установки переменных среды или чего-либо еще.

Возможно ли что-то подобное с git?

Мабы просто игнорируют настройки автора или сохраняют их на git-сервере, связанном с ключом, который используется для аутентификации? Это сервер или клиент?

1 ответ1

2

Настройки автора / коммиттера могут быть указаны с помощью следующих переменных среды:

GIT_AUTHOR_NAME
GIT_COMMITTER_NAME
GIT_AUTHOR_EMAIL
GIT_COMMITTER_EMAIL

Сделав это, вы можете указать ssh экспортировать переменные при подключении к удаленным серверам. Это делается путем редактирования вашего ~/.ssh/config . Добавьте что-то вроде этого:

SendEnv GIT_*

Проблема заключается в том, что удаленный сервер должен быть настроен на прием этих переменных, поэтому может потребоваться изменить /etc/ssh/sshd_config (или там, где хранится конфигурация вашего сервера):

AcceptEnv GIT_*

После того, как это будет сделано, удаленный git сможет использовать эти переменные, не беспокоя вас.

Подробнее об отправке переменных среды через ssh: когда ssh'ing, как я могу установить переменную среды на сервере, которая меняется от сеанса к сеансу?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .