ОК, ответ, на который я ссылался в этом вопросе, также содержит ключ к ответу на этот вопрос: тег, указывающий на тег, использует SHA1 целевого тега, а не его имя, в качестве ссылки.
То есть, если создается tag2
, указывающее на tag1
, tag2
указывает на объект tag1
без фактического раскрытия имени tag1
.Поэтому, если какая-либо команда git или пользовательский интерфейс должны разыменовать tag1
, у нее не будет прямого способа узнать, что тег, на который она указывает, называется tag2
, если объект tag2 не содержал эту информацию.
Может быть, есть и другие причины, но об этом я мог подумать.Возможно, есть другие вещи (помимо тега), которые могут ссылаться на тег по его SHA1, и поэтому необходимо, чтобы имя ссылочного тега было предоставлено ссылочным объектом тега.