Git создает создает уникальные хэши для каждого коммита. (теоретически вероятность столкновения очень мала, но это очень маловероятно).
Как объяснено в этом ответе, git
использует следующую информацию для генерации хеша:
- Исходное дерево коммита (которое раскрывается для всех поддеревьев и BLOB-объектов)
- Родительский коммит sha1
- Информация об авторе (с отметкой времени)
- Информация о коммитере (верно, они разные, также с отметкой времени)
- Сообщение коммита
, поскольку отметка времени интегрирована, у вас никогда не будет двух одинаковых хэшей дляодин и тот же «контент».
Однако вы можете иметь несколько ссылок , указывающих на один и тот же хэш коммита: теги , ветви .
Заключение
В зависимости от того, что вы хотите, вы можете:
- просто использовать хиты коммитов git, поскольку они уникальны для каждого коммита. Если две ветки указывают на один и тот же коммит, вы будете анализировать только один раз, но в зависимости от ваших потребностей это может не потребоваться, поскольку это действительно тот же самый коммит.
- вы можете объединить хеш git commit с веткойНазовите, если вам действительно нужен анализ для каждой ветви, даже если они указывают на один и тот же код.