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?

petersohn
quelle

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
Mark Longair
quelle
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
stricken
quelle
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

Prüfsumme
quelle
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"
Daniil Shevelev
quelle
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

clarkttfu
quelle