но это изменение также имеет идентификатор и причину фиксации, которые мне нужны в одном и том же файле различий
Я думаю, здесь есть небольшая путаница.Git-diff выводит разницу между одним коммитом и другим, то есть это не только один коммит, он представляет серию коммитов в указанном вами диапазоне (662a1fa..64f9766 в приведенном вами примере).Таким образом, это может быть несколько идентификаторов и сообщений фиксации, возможно, даже тысячи, если ваши теги достаточно далеко друг от друга.
Если бы git diff должен был выводить все связанные сообщения фиксации, у вас не было бы хорошего способа определить, какая частьdiff связан с каждым идентификатором фиксации и сообщением фиксации.Вот почему существует журнал git.
В журнале Git каждый коммит отображается один за другим в указанном вами диапазоне, поэтому он отображает сообщения о коммите.
git-diff показывает разницумежду a и z.
git-log показывает вам путь, которым нужно было стать z.
Имея это в виду, я предполагаю, что это, вероятно, то, что вы ищете:
git log --color -p --full-diff tag1..tag2