Где NUMBER - это число от 1 до 11, указывающее, какой случай (топология) проверять.
епозиторий Git имеет три ветви,devel
, stable
а такжеcustomers/acme_patches
, Давным давно,stable
был раздвоен отdevel
и все исправления происходят вstable
, Время от времени,stable
сливается обратно вdevel
. customers/acme_patches
это ветка с несколькими специфическими для клиента патчами. Ветвь не была объединена ни с одним изdevel
а такжеstable
.
Немного искусства ASCII для иллюстрации сценария:
o---o---o customers/acme_patches? / o---o---1---o---o---o stable / \ \ o---o---o---2---o---o---o---o devel \ o---o---o customers/acme_patches?
Теперь мне интересно
Какая ветка былаcustomers/acme_patches
раздвоенный от -devel
или жеstable
? Я только знаю, что это было разветвлено одним из них в прошлом, но я не знаю, какой. Например. это могло быть совершено1
или же2
на приведенной выше диаграмме.
Я играл сgit log --oneline --graph
а такжеgitk
но с тех порcustomers/acme_patches
был разветвлен несколько сотен коммитов назад, трудно следовать нарисованным линиям.
Может быть, есть быстрая команда (небольшой скрипт тоже подойдет), которая может как-то следовать за коммитами вcustomers/acme_patches
в обратном направлении, чтобы найти первый коммит с двумя дочерними элементами (точка разветвления) и затем определить, был ли этот коммит выполнен вstable
или вdevel
?
В лучшем случае я мог бы просто выполнить что-то вроде (извините за подсказку, я на Windows):
C:\src> git fork-origin customers/acme_patches
stable