Мне нужно перечислить все фиксации, сделанные в ветке master
, начиная с моей последней версии. Я должен реализовать эту функцию, используя pygit2
. Но ситуация здесь немного другая.Список всех коммитов с момента последнего выпуска, когда тег указывает на фиксацию на другой ветке
Освобождение производится на ветке master
с использованием tag
на фиксации до other
. Наивный подход состоял бы в том, чтобы найти sha
последних tagged commit
и переместить историю с HEAD
до этого sha
. Но это tagged commit
не сделано для филиала master
в моем случае, оно сделано для other
ветви. Интересно, что следующее дает правильный выход, когда пробегают master
отрасли:
$ git log sometag..HEAD --oneline
Здесь sometag
указывает на коммит сделал на other
отрасли. Итак, я хочу знать, как реализовать это программно, если у меня есть список всех коммитов, сделанных на ветке master
.
Одно из решений, которое приходит мне в голову, состоит в том, чтобы найти timestamp
из tagged commit
и фильтровать мой список фиксаций. Как это делает git log
, любые идеи?
Теги Арен» t, прикрепленные к филиалам, они привязаны к отдельным фиксациям. Диаграмма поможет здесь. Вы пытаетесь перечислить коммиты, которые являются предками вашей текущей ветви, которые не являются предками определенного тега? –
@ DietrichEpp, да, я знаю это. Думаю, вы предлагаете «предшественники» данного тега, а не «anscestors»? – darxtrix
@ DietrichEpp, ладно, я понял, что это. Починил это. – darxtrix