Vollversionsbaum in Git anzeigen


114

Ich benutze die Kommandozeilenversion von Git und Gitk. Ich möchte den Vollversionsbaum sehen, nicht nur den Teil, der von der aktuell ausgecheckten Version aus erreichbar ist. Ist es möglich?

Antworten:


79

Sie können Folgendes versuchen:

gitk --all

Sie können gitkanhand von Informationen git rev-listfestlegen , was angezeigt werden soll. Wenn Sie also nur ein paar Zweige möchten, können Sie Folgendes tun:

gitk master origin/master origin/experiment

... oder exotischere Dinge wie:

gitk --simplify-by-decoration --all

290

Wenn Sie keine grafische Oberfläche zur Verfügung haben, können Sie das Commit-Diagramm auch in der Befehlszeile ausdrucken:

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

Wenn sich dieser Befehl mit einer ungültigen Option --oneline beschwert, verwenden Sie:

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

6
Wer braucht Gitk, wenn wir Gitl haben? alias gitl = 'git log --oneline --graph --decorate --all'
Thunder Rabbit

10
alias gl='git log --oneline --graph --decorate --all'. Warum mehr als nötig tippen;)
Dana Woodman

Ich hoffe, dass die Befehlszeilenabkürzungen vor dem Ausfüllen der Registerkarten erfunden wurden. Sie kommen nur denen zugute, die diese Befehle häufig verwenden, und denen mit verrückten Erinnerungen.
aaaaaa

120
  1. Wenn ich nur mit Terminal an meinem Arbeitsplatz bin, verwende ich:

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

    Geben Sie hier die Bildbeschreibung ein

  2. Wenn das Betriebssystem die grafische Benutzeroberfläche unterstützt, verwende ich:

    gitk --all

    Geben Sie hier die Bildbeschreibung ein

  3. Wenn ich in meinem Windows-Heim-PC bin, verwende ich meinen eigenen GitVersionTree

    Geben Sie hier die Bildbeschreibung ein


Perfekte Antwort für mich. Mein Betriebssystem unterstützt die grafische Benutzeroberfläche, daher ist die zweite Option mein Weg, aber sagen wir mal, ich möchte nur sehr schnell einen Blick auf das Diagramm von der Befehlszeile werfen: Gibt es eine Möglichkeit, die Eingabe all dieser Schalter aus der ersten Version zu vermeiden, oder Sie wiederholen sie einfach sie die ganze Zeit tippen? Danke dir.
15.

1
@rchrd Ich würde sie durch Ausführen als Alias ​​festlegen git config --global alias.ver "log --oneline --graph --color --all --decorate"und muss erst git verdanach eingeben .
Prüfsumme

23

Es gibt eine sehr gute Antwort auf dieselbe Frage.
Hinzufügen der folgenden Zeilen zu "~ / .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

Der Ruf reicht nicht aus, um Knittls Antwort zu kommentieren, also:

Wenn Sie keinen Zweig- oder Tag-Namen benötigen:
git log --oneline --graph --all --no-decorate

Wenn Sie nicht einmal Farbe benötigen (um die Tastenfolge beim Herauspfeifen zu vermeiden):
git log --oneline --graph --all --no-decorate --no-color

Möglicherweise möchten Sie einen Alias ​​(in .gitconfig) verwenden, um das Leben zu vereinfachen:

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

Nur die letzte Option wird wirksam, sodass Sie Ihren Alias ​​sogar überschreiben können:
git tree --decorate

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.