Ответ 1
Как я упоминал в " Почему Git использует криптографическую хеш-функцию? ", Это "безопасно" с точки зрения целостности данных (Linus Torvalds, 2007):
Мы проверяем контрольные суммы, которые считаются криптографически безопасными. Никто не смог сломать SHA-1, но дело в том, что SHA-1, насколько это касается git, даже не является функцией безопасности. Это чисто проверка согласованности. Детали безопасности находятся в другом месте.
Многие люди предполагают, что, поскольку git использует SHA-1, а SHA-1 используется для криптографически защищенных вещей, они считают, что это огромная функция безопасности. Он не имеет ничего общего с безопасностью, это просто лучший хэш, который вы можете получить.Хороший хэш хорош для того, чтобы доверять вашим данным
Это не имеет никакого отношения к:
- конфиденциальность (которая не зависит от самого Git, но на сервере хостинга Git, например gitHub или BitBucket)
- пользовательский идентификатор (чтобы действительно быть уверенным в коммите пользователя, как комментарии Thilo, вы можете подписывать коммиты (см. " История Git Horror: целостность хранилища с подписанными записями ")
OP добавляет:
я имею в виду, что владелец gitlab или github может украсть наш код
Это вопрос доверия. Имеет ли сервер хостинга git доступ к вашему коду, если он находится в частном репо? Технически да.
Получат ли они ваш частный код? Как упоминалось в разделе " Можно ли доверять сторонним узлам для управления исходными кодами с закрытым исходным кодом/частным образом? ", Ничто не мешает им.
Тем не менее, многие стартапы имеют свой частный код, например, GitHub.
Если у вас есть настоящая конфиденциальность, важно, чтобы вы сохраняли право собственности на всю кодовую базу, включая сервер, на котором он хранится (имея в виду иметь собственный сервер хостинга Git repo).