Обновление - копирование информации из комментария Торека, поскольку я считаю, что этот контекст достаточно важен, чтобы он был доступен в самом ответе, а не только в комментариях:
Во-первых, вам нужно отделить git от gitlab .Что касается git , то ssh - это только один из возможных протоколов, которые вы можете использовать для подключения к вашему серверу.Ваш ключ ssh или его действительность не имеет значения для git;это между вами и вашим сервером, так как сервер аутентифицирует вас, чтобы он мог решить, авторизованы ли вы для подключения через ssh.
(Сервер может выполнять более детальные проверки авторизации, особенно для хостов, таких как gitlab, вся функция которого заключается в интеграции с git. Тем не менее, это дело хоста, а не git.)
Хостинговые сервисы, такие как gitlab, могут регистрировать активность на основе ключа ssh, а могут и нет.Даже если они это сделают, это только скажет вам, кто выдвинул коммит на этот сервер, который может отличаться от автора или коммиттера.Например:
Допустим, Алиса написала код;она автор.Она отправила копию своей работы Бобу.Боб поместил код в локальный репозиторий Git.Боб является коммиттером.Боб создал пакетный файл и отправил его Синди.Теперь Синди загружает коммит Боба, содержащий код Алисы, в ее локальное хранилище, а затем отправляет на gitlab, используя ее ключ ssh .Теперь самому мерзавцу плевать на роль Синди в этом;она не автор и не коммиттер.Но если gitlab выбирает протоколирование активности на основе ключа ssh, gitlab может регистрировать, что Синди ввела коммит на этот сервер.
Метод создания поддающихся проверке коммитов в git заключается в использовании сигнатур [1].Так что нет, «нет никакого способа узнать реального человека без использования [git-механизма для записи реального человека]».
Обратите внимание, что это вытекает из распределенной природыGit.Без какого-либо внешнего ограничения невозможно сказать, что Синди законно передает работу Алисы и Боба.В SVN есть один четко различимый центральный сервер / Источник истины, и Алиса должна подключиться к этому серверу, чтобы создать коммит, после чего Боб должен подключиться к этому серверу, а Синди должна подключиться к этому серверу.Каждый человек подключается индивидуально к серверу.В отличие от SVN, Git не предполагает, что это должно происходить всегда.Если вы хотите применить такую политику самостоятельно, вы можете сделать это на своем сервере.
-torek
[1] А пока я неНе зная, изменились ли их взгляды, по крайней мере, некоторые из разработчиков git ранее высказали мнение, что подписание тэгов - а не прямое подписание коммитов - является правильным способом сделать это.