Попробуйте указать URL-адрес git repo без имени пользователя в клоне на тестовом сервере (вы можете изменить его в конфигурации или просто клонировать заново). Это заставит git использовать имя пользователя ssh по умолчанию для хоста в этом URL.
В зависимости от настроек может потребоваться дополнительно изменить ~/.ssh/config
для каждого пользователя.
Обновление
Если все входят в систему с одним и тем же пользователем на вашем тестовом сервере (настройка, которую я бы не рекомендовал), то, похоже, вам придется взломать так или иначе.
Один из возможных способов сделать это - это (я не пробовал):
Если вы беспокоитесь о user.name
и user.email
, разрешите пользователю тестового сервера получить доступ к главному git-репо и заставьте каждого пользователя установить GIT_AUTHOR_NAME
и GIT_AUTHOR_EMAIL
(и, возможно, некоторые другие ) переменные окружения после входа в систему.
Имеет смысл сделать это в каком-то скрипте, но не в .bashrc
или аналогичном, по понятным причинам.
Чтобы защитить себя от забывчивых пользователей, вы можете захотеть установить ловушку предварительной фиксации в git clone, где пользователи выполняют свои коммиты, чтобы проверить, был ли вызван скрипт (например, через переменную окружения). В качестве альтернативы, настройте сценарий post-receive в мастер-репозитории git и проверьте, что учетные данные пользователя в отправленных коммитах не совпадают с учетными данными пользователя тестового сервера. В этом случае пользователям придется переписывать историю, чтобы исправить авторов коммитов.
Если этого недостаточно, пожалуйста, поделитесь более подробной информацией.