Я только взглянул на этом коротко (и у них есть какая-то странные терминология, называя эту «ревизию» вместо идентификаторов «совершающих»: что будет иметь смысл для Mercurial, но не для Git), но API делает возьмите два идентификатора, и это все, что вам нужно.
Например, в вашем примере, вы хотите увидеть, что произошло
между commit1 через commit10
Слово «между» немного подозреваемым (потому что коммиты не обязательно линейны в первое место и потому, что оно вводит ошибки fencepost), но в целом для этого вы просто сравниваете (идентификатор) commit1 (или его родителя, в зависимости от того, считаете ли вы забор постов или забор рельсов) против (ID) commit10.
При этом с Git, а не по какой-то досадной REST API, это выражается как, например:
$ git diff --name-status 1fe9ca7 6631bed
, который показывает вам все, что изменилось в 6631bed
против, что было в 1fe9ca7
, что-из-за алгебра наборов изменений - это сумма каждого набора изменений «между» (опять-таки это скользкое слово) двух конечных точек.
Git не сохраняет эти изменения; он сохраняет фактическое содержимое при каждой фиксации. Поэтому набор изменений создается по запросу (на git diff
), поэтому их терминология кажется немного странной. Вы идентифицируете два фактических фиксации, а не набор изменений, а git затем выдержки a changeet.