Очень распространено, если Вы полагаете, что входящие данные не могут следовать тем же сетевым маршрутом как исходящий к тому же серверу. И Вы полагаете почти всегда совместное использование сети с другим сетевым трафиком.
Очереди QoS могут добавить дополнительные задержки любого направления. Другая торговля любым направлением будет влиять на время отклика.
У некоторых людей все еще есть спутниковые линии, которые используют спутник для загрузки и модем для загрузки. Это - совсем другое время отклика так или иначе.
На LAN, не так другая задержка...
Таким образом да, это очень распространено на практике. Почему Вы спрашивали?
На автора git и имя коммиттера можно влиять с помощью переменных окружения GIT_COMMITTER_NAME
, GIT_COMMITTER_EMAIL
, GIT_AUTHOR_NAME
и GIT_AUTHOR_EMAIL .
Теперь уловка состоит в том, чтобы отправить эти переменные на удаленный сервер при подключении через SSH:
Определите и экспортируйте переменные в вашем файле ~ / .bashrc
:
export GIT_AUTHOR_NAME = "Christian Weiske"
Автоматически отправлять их через SSH-соединение, настроив ~ / .ssh / config
:
SendEnv LANG LC_ * GIT_ *
LANG
и LC _ *
не обязательны, но в Debian по умолчанию используется ssh_config, поэтому я подумал, что должен отправить и их тоже
На удаленном сервере настройте конфигурация sshd в / etc / ssh / sshd_config
для принятия GIT _ *
переменных среды:
AcceptEnv LANG LC_ * GIT_ *
Вуаля - git commit
от имени пользователя root в / etc /
приводит к:
commit 8a4654f13241f05361283a88ce041a0fc24b8ac6
Author: Christian Weiske <christian.weiske@netresearch.de>
В случае сбоя сервера когда-нибудь в будущем: http: // cweiske .de / tagebuch / carry-git-settings.htm
Во-первых, и не связанный с Вашим вопросом, я убедил бы Вас срочно остановиться для использования root
логины и su
и используйте пользовательские логины и sudo
вместо этого. Ограничьте Ваш root
логины консоли только или даже этого.
Тем не менее git commit
имеет a --author
опция, которая может помочь Вам там:
# git commit --author='Author Name <author@email.address.com>' -a
Можно также тщательно использовать переменные среды на пользователя для установки GIT_AUTHOR_NAME
и GIT_AUTHOR_EMAIL
переменные. В журнале это появится различные авторы и тот же разработчик (root@host
), но это даст Вам больше аудита. Конечно, это означает доверие администраторам для сохранения переменных в целости. Поскольку каждый использует определенную оболочку, они могут sudo
базироваться и получать файл с их определенным git
переменные, определяя каждого по-другому на фиксациях. Не очень практичный, но можно даже автоматизировать это со сценариями.
Править: Конечно, еще лучший подход, как назначено @ScottPack должен был бы использовать систему управления конфигурацией как Марионетка или Шеф-повар и использовать мерзавца для отслеживания изменений на центральном сервере а не на реальных серверах, таким образом, у каждого администратора могла быть рабочая копия конфигурации.
В дополнение к ответу coredump можно также установить эти опции в .git/config
файл в Вашей рабочей копии репозитория (вручную, или использование git config
команда.
Посмотрите man git-config
для большего количества информации о команде и прохладных вещах можно сделать с ним.
Если вам случится подготовить учетные записи пользователей на своих серверах с помощью ключей ssh, вы можете фактически присоединить переменные среды к авторизованным ключам во время установки - например, в ~ bob / .ssh / authorized_keys
environment="GIT_AUTHOR_NAME=Bob Smith",environment="GIT_AUTHOR_EMAIL=bob.smith@megacorp.com" ssh-rsa AAAA.... bob.smith@megacorp.com
Таким образом, когда пользователи SSH входят, они автоматически настраивают эти envs - им не нужно пересылать их с локального клиента. Бонусные баллы, если у вас уже есть эта информация и вы генерируете конфигурации authorized_keys из системы управления конфигурациями.
Примечание. Для приведенного выше требуется PermitUserEnvironment yes
в sshd_config
Если вы используете sudo
и у вашего пользователя без полномочий root установлен домашний каталог:
git -c include.path =
будет включать конфигурацию в <файл>
.
Для автоматического извлечения файлов конфигурации моего пользователя без полномочий root я использую псевдоним bash
:
alias gsudo='sudo git -c "include.path='"${XDG_CONFIG_DIR:-$HOME/.config}/git/config\" -c \"include.path=$HOME/.gitconfig\""
Затем я использую ] gsudo
вместо git
для обоих:
Убедитесь, что конфигурация действительно импортируется:
gsudo config --list --show-origin --includes | less