2010-08-24 3 views
1

Я хотел бы просмотреть контекст коммитов вокруг ветки git: любых близлежащих предков или потомков в моем репо. Это легко с gitk, если ветка является последней и появляется наверху. Это утомительно, если ветка старая.Как ветка git относится к другим ветвям в моем репо?

ответ

1

В дополнение к очень приятному и визуальному gitk --all (что является моим предпочтением) вы также можете использовать git show-branch. Это покажет вам, какие фиксации уникальны для каких ветвей. Результат немного критический, но есть команда a nice tutorial.

+0

git show-branch --topics master heads/* –

+0

"--topics master" подавляет множество коммитов в оригинале, на которого я не сосредоточен. «heads/*» показывает все локальные ветви, лучше, чем -all, который является спамом со слишком большим количеством удаленных филиалов. –

0

Предки легко. Потомки, не так много. Если вы хотите гарантировать, что все потомки видны в gitk, используйте опцию --all, как предложено второй. (Вы также можете перейти к просмотру> нового вида и проверить флажки «все ссылки» или «все (местные) ветви», если вы уже начали gitk.)

Если вы запустили gitk с опцией --all, 'Покажите все, но все же придумайте прокрутку к вашей текущей ветке. Если это не тот, который вы хотите, нажмите F2 или перейдите в меню «Файл»> «Список» и найдите соответствующую ветку в списке, щелкнув по нему, будет центрировать вид.

0
git log --graph --format=oneline branch~10..branch 
           branch~10..master 
           branch~10..everyOtherBranch ... 

Затем прокрутите до самого конца файла («G» меньше). 10 - это волшебное число, чтобы отодвинуть историю назад достаточно далеко, чтобы увидеть контекст, сделайте ее достаточно большой, чтобы увидеть общего предка.

Но перечисление каждой ветви является утомительным. Использование --all в порядке, если вы запомнили SHA для одной из коммитов на ветке, а затем выполните поиск. Но это тоже не здорово.

Смежные вопросы