Git: как получить список всех ревизий с момента коммита? - PullRequest
2 голосов
/ 03 декабря 2010

Используя rev-list, я выяснил, как получить список всех ревизий в одной ветке с момента некоторой фиксации.Как я могу получить список всех ревизий на всех ветвях, так как некоторые фиксируют?Допустим, верхняя часть моего хранилища выглядит следующим образом. Как мне получить список всех коммитов, начиная с bbbbbbb (коммиты 3, 4, 5 и 6)? Меня не волнует порядок.почти то, что мне нужно, но он также возвращает коммиты из несвязанных веток.Если я разверну дерево до этой формы, я не хочу видеть коммит 7. в списке.

* 0000000 7
| * fffffff 6
| * ddddddd 4
| | * eeeeeee 5
| | * ccccccc 3
| |/  
| * bbbbbbb 2
|/  
* aaaaaaa 1

Ответы [ 2 ]

7 голосов
/ 03 декабря 2010
git rev-list ^bbbbbbb <i>branches...</i>

Например, в этом тестовом хранилище:

chris@zack:~/git-test$ git log --all --graph --oneline
* 8daff2c f      <i><-- test</i>
* 5f57b15 d
| * 764a725 e    <i><-- master</i>
| * 5889800 c
|/
* 294908b b
* 975d652 a

chris@zack:~/git-test$ git rev-list ^294908b master test
8daff2c59d8cb966bf399de5027fae85ee016081
5f57b1524afeafbf37984f84fa5fe24ee0ac8501
764a7256d40dbefdb6278443fb80266f00358a37
58898005214607e5c53b45954a98891ea599c037
0 голосов
/ 03 декабря 2010

Вы можете использовать git rev-list или git log (в зависимости от того, что вы ищете), но диапазон является важной частью.

git log bbbbbbb..fffffff в вашем случае даст вам все от *От 1006 * до ffffffff, но не включая bbbbbbb.Если вы хотите включить bbbbbbb, просто вставьте перед ним ^.

Вы не хотите все изменения с тех пор, вы хотите, чтобы те, которые ведут к определенномуменять.В моих репозиториях (где я перебазирую лот ), существует очень большой список существующих конечных точек, которые падают сами по себе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...