Я понимаю, что git распространяется и должен быть легко разбираемым, поэтому uuid на самом деле не имеет смысла, но есть ли в git какая-то сопоставимая функция / функция?
Напротив, часть того, что делает git настолько полезным, как распределенная система контроля версий, состоит в том, что каждый коммит имеет идентификатор, который однозначно определяет как этот коммит, так и его полную историю. (Это хеши, которые вы видите связанные с коммитами в git, которые правильно называются «именами объектов».) Неважно, из какого репозитория был извлечен коммит или из которого он был передан, он все равно представляет точно такое же состояние дерева и точно такая же история, включая авторство и т.д ..
Из вашего вопроса мне не совсем ясно, является ли то, что вы хотите знать, (а) существует ли вообще какая-либо общая родословная или (б) содержит ли история ветви А полностью историю ветви В (т.е. объединение А в В было бы «быстрой перемоткой вперед»).
Если вы после (а), то ответ Брайана Кэмпбелла - это то, что вы хотите, т. Е. По существу проверка, успешно ли возвращается git merge-base test-remote/master master
.
С другой стороны, если вы после (b), вам следует проверить, совпадает ли вывод git merge-base test-remote/master master
с git rev-parse --verify master
.