Przeglądanie drzewa pełnej wersji w git


115

Używam wersji Git i gitk z wiersza poleceń. Chcę zobaczyć pełne drzewo wersji, a nie tylko część, do której można dotrzeć z aktualnie pobranej wersji. Czy to możliwe?

Odpowiedzi:


79

Możesz spróbować następujących rzeczy:

gitk --all

Możesz powiedzieć, gitkco wyświetlić, używając wszystkiego, co git rev-listrozumie , więc jeśli potrzebujesz tylko kilku gałęzi, możesz zrobić:

gitk master origin/master origin/experiment

... lub bardziej egzotyczne rzeczy, takie jak:

gitk --simplify-by-decoration --all

292

jeśli nie masz interfejsu graficznego, możesz także wydrukować wykres zatwierdzenia w wierszu poleceń:

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

jeśli to polecenie narzeka z niepoprawną opcją --oneline, użyj:

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

6
kto potrzebuje gitk, kiedy mamy gitl! alias gitl = 'git log --oneline --graph --decorate --all'
Thunder Rabbit

10
alias gl='git log --oneline --graph --decorate --all'. Po co pisać więcej niż potrzeba;)
Dana Woodman

Mam nadzieję, że skróty linii poleceń zostały wynalezione przed uzupełnieniem tabulatorów. Przynoszą korzyści tylko tym, którzy często używają tych poleceń i tym, którzy mają szalone wspomnienia.
aaaaaa

121
  1. Kiedy jestem w miejscu pracy z terminalem, używam:

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

    wprowadź opis obrazu tutaj

  2. Kiedy system operacyjny obsługuje GUI, używam:

    gitk --all

    wprowadź opis obrazu tutaj

  3. Kiedy jestem na moim domowym komputerze z systemem Windows, używam własnego GitVersionTree

    wprowadź opis obrazu tutaj


Doskonała odpowiedź dla mnie. Mój system operacyjny obsługuje GUI, więc druga opcja to moja droga, ale powiedzmy, że chcę bardzo szybko zerknąć na wykres z wiersza poleceń: czy jest jakiś sposób, aby uniknąć wpisywania wszystkich tych przełączników z pierwszej wersji, czy po prostu ponownie wpisywać je cały czas? Dziękuję Ci.
rchrd

1
@rchrd Ustawiłbym je jako alias, uruchamiając git config --global alias.ver "log --oneline --graph --color --all --decorate"i wystarczy wpisać git verpóźniej.
suma kontrolna

23

Jest bardzo dobra odpowiedź na to samo pytanie.
Dodanie następujących wierszy do „~ / .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

Reputacja nie wystarczy, aby skomentować odpowiedź Knittla, więc:

Jeśli nie potrzebujesz nazwy oddziału lub tagu:
git log --oneline --graph --all --no-decorate

Jeśli nie potrzebujesz nawet koloru (aby uniknąć sekwencji klawiszy podczas wyprowadzenia):
git log --oneline --graph --all --no-decorate --no-color

Możesz użyć aliasu (w .gitconfig), aby ułatwić życie:

[alias]
  tree = log --oneline --graph --all --no-decorate

Działa tylko ostatnia opcja, więc można nawet zastąpić swój alias:
git tree --decorate

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.