Отношения между n git ветками
Если у меня есть n git веток, как мне легко показать связь между этими ветками?
В основном мне интересно видеть дерево подмножества всех веток в моем хранилище. Однако меня не интересуют все промежуточные коммиты.
Например, мой репозиторий выглядит так:
o---o--o A
/ /
o--o--o--o--o--o B
\ \ \
\ o--o C \
\ \ \
o--o--o--o--o--o D
Но, вероятно, намного сложнее. Теперь я хочу увидеть отношения между ветвями A, C и D. Что-то вроде:
o A
/
o--o--o
\ \
o---o C
\
o--o D
Или эквивалентный обзор. Возможно ли это и как? (Графический инструмент будет очень хорошо.)
Решение
Основываясь на ответе Антуана Пелисса, следующая строка, кажется, делает (почти) именно то, что я хочу:
git log --graph --decorate --oneline --simplify-by-decoration A B C
Обновить
Марк Лонгэйр указывает в своем ответе ниже, что gitk
принимает те же параметры, что и git rev-list
, так что можно сделать:
gitk --simplify-by-decoration A C D
2 ответа
Вы можете попробовать это:
git log --graph --all --decorate --simplify-by-decoration
Он будет отображать только те коммиты, которые являются ветвями или помечены.
Я хотел бы использовать:
gitk A C D
... есть, вероятно, другие графические интерфейсы git, которые производят более красивую визуализацию графа коммитов, но я всегда находил gitk
хорошо для этой цели. Все ветви и теги помечены в представлении в стиле "Лондонский метрополитен":
http://mythic-beasts.com/~mark/gitk-screenshot.png
Вы также можете использовать --simplify-by-decoration
возможность gitk
, так как он понимает все параметры, которые git rev-list
делает, например:
gitk --simplify-by-decoration A C D