Подтвердить что ты не робот

Просмотр полного дерева версий в git

Я использую версию командной строки Git и gitk. Я хочу видеть полное дерево версий, а не только часть, доступную из текущей проверенной версии. Возможно ли это?

4b9b3361

Ответ 1

Вы можете попробовать следующее:

gitk --all

Вы можете сказать gitk, что отображать, используя что-либо, что git rev-list понимает, поэтому, если вы просто хотите несколько ветвей, вы можете сделать:

gitk master origin/master origin/experiment

... или более экзотические вещи, такие как:

gitk --simplify-by-decoration --all

Ответ 2

Если у вас нет графического интерфейса, вы также можете распечатать граф фиксации в командной строке:

git log --oneline --graph --decorate --all

если эта команда жалуется на недопустимую опцию --oneline, используйте:

git log --pretty=oneline --graph --decorate --all

Ответ 3

  • Когда я нахожусь на своем рабочем месте только с терминалом, я использую:

    git log --oneline --graph --color --all --decorate

    enter image description here

  • Когда GUI поддерживает ОС, я использую:

    gitk --all

    enter image description here

  • Когда я нахожусь на своем домашнем ПК с ОС Windows, я использую свой собственный GitVersionTree

    enter image description here

Ответ 4

В этом же вопросе есть очень хороший ответ.
Добавление следующих строк в "~/.gitconfig":

[alias]
lg1 = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n''          %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
lg = !"git lg1"

Ответ 5

Репутации недостаточно, чтобы комментировать ответ knittl, поэтому:

Если вам не нужно название ветки или тега:
git log --oneline --graph --all --no-decorate

Если вам даже не нужен цвет (чтобы избежать последовательности клавиш при передаче по каналу):
alias tree = log --oneline --graph --all --no-decorate --no-color

Работает только последний вариант, поэтому можно переопределить псевдоним при выполнении:
git tree --decorate