Подтвердить что ты не робот

Какой смысл подписывать теги в git?

Я совершенно новый в git, и я видел, что можно подписать теги с gpg. Я понимаю, как работает криптография с открытым ключом, и я понимаю, как делать подписывать теги, но в чем смысл этого?

4b9b3361

Ответ 1

Точкой подписания тега является то, что теперь любой, у кого есть ваш открытый ключ, может доказать, что вы одобрили эту конкретную фиксацию как конкретную версию программы. Если они доверяют вам, как официальному источнику релизов для этого пакета, то они знают, что получили официальную версию этого пакета, а не какую-то случайную версию, которая могла быть заблокирована злоумышленником или повреждена в пути.

Ответ 2

Понимание основ git object model показывает значение подписывающих тэгов.

На приведенной ниже диаграмме, взятой из git Community Book, изображен конкретный моментальный снимок. Затененные поля - это объекты git. Объект фиксации слева обозначает дерево. Подумайте о дереве, как каталог файловой системы, поэтому объект дерева относится к другим деревьям и блокам. Объект blob сохраняет содержимое файла.

git objects

Каждый объект git имеет SHA1, уникальный 40-символьный шестнадцатеричный дайджест, полученный из этого содержимого объекта. Сокращенные шестнадцатеричные строки над объектами представляют собой соответствующие SHA1.

git объекты неизменяемы: изменение даже одного бита содержимого объекта меняет свое имя. Это SHA1s полностью вниз. Любое изменение в blob требует нового дерева, а затем, в свою очередь, нового коммита, поэтому невозможно как совместить различное содержимое, так и избежать обнаружения. Знание только SHA1 коммита дает вам точный снимок с проверкой целостности дерева.

A commit также ссылается на своего непосредственного родителя (или нескольких родителей в случае слияний), поэтому гарантия еще сильнее. Изменение одного бита в любом месте истории фиксации также изменяет SHA1. Знание только одного синтаксиса SHA1 дает вам огромное количество информации: точное дерево в контексте точной истории, вплоть до первого фиксации.

Любой может создавать коммиты, и любой может претендовать на роль, скажем, Линуса Торвальдса. Важно знать, какие коммиты заслуживают доверия. Подписанный тег, который ссылается на фиксацию, дает вам всю указанную выше информацию вместе с проверяемой аутентичностью. Многие проекты используют подписанные теги в качестве способа штамповки официально освобожденных релизов.