it-swarm.com.de

Ein Git-Baum kann im Terminal nicht angezeigt werden

Killswitchcollective.coms alter Artikel, 30. Juni 2009 , hat die folgenden Ein- und Ausgänge

git co master
git merge [your_branch]
git Push

upstream    A-B-C-D-E            A-B-C-D-E-F-G
                 \        ---->               \
your branch       C-D-E                        G

Mich interessiert, wie Sie die Strukturansicht von Commits in Ihrem Terminal erhalten, ohne Gitk oder Gitx in OS/X zu verwenden.

Wie können Sie die baumartige Ansicht von Commits im Terminal erhalten?

Wie können Sie die baumartige Ansicht von Commits im Terminal erhalten?

git log --graph --oneline --all

ist ein guter Anfang.

Möglicherweise erhalten Sie einige seltsame Buchstaben. Dies sind ASCII Codes für Farben und Struktur. Um dieses Problem zu lösen, fügen Sie Folgendes zu Ihrem .bashrc:

export LESS="-R"

so dass Sie Tigs ASCII filtern nach nicht brauchen

git log --graph --pretty=oneline --abbrev-commit | tig   // Masi needed this 

Der Artikel textbasiertes Diagramm von Git-ready enthält weitere Optionen:

git log --graph --pretty=oneline --abbrev-commit

git log graph

In Bezug auf den Artikel, den Sie erwähnen, würde ich mit Pods Antwort : Ad-hoc handgemachte Ausgabe gehen.


Jakub Narębski Erwähnungen in den Kommentaren tig, eine ncurses-basierte Text-Mode-Oberfläche für Git. Siehe ihre Veröffentlichungen .
Es fügte hinzu ein --graph Option im Jahr 2007.

710
VonC

Eine Lösung besteht darin, einen Alias ​​in Ihrem .gitconfig Zu erstellen und ihn einfach aufzurufen:

[alias]
    tree = log --graph --decorate --pretty=oneline --abbrev-commit

Und wenn Sie es das nächste Mal aufrufen, verwenden Sie:

git tree

Um es in Ihre ~/.gitconfig einzufügen, ohne es bearbeiten zu müssen, können Sie Folgendes tun:

git config --global alias.tree "log --graph --decorate --pretty=oneline --abbrev-commit"  

(Wenn Sie das --global nicht verwenden, wird es in die .git/config Ihres aktuellen Repos kopiert.)

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

Ein visueller Baum mit Zweignamen.

Verwenden Sie dies, um es als Alias ​​hinzuzufügen

git config --global alias.tree "log --oneline --decorate --all --graph"

Du nennst es mit

git tree

Git Tree

114

tig

Wenn Sie einen interaktiven Baum möchten, können Sie tig verwenden. Es kann von brew unter OSX und apt-get Unter Linux installiert werden.

brew install tig
tig

Das ist was du bekommst:

enter image description here

52
Mohsen

Wenn Sie Ihre Befehle kurz halten, werden sie leichter zu merken sein:

git log --graph --oneline
5
JSON C11

Ich würde jedem empfehlen, den vollständigen Befehl aufzuschreiben

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

anstatt einen Alias ​​zu erstellen.

Es ist gut, die Befehle in den Kopf zu bekommen, damit Sie sie auswendig können, d. H. Sie sind nicht auf Aliase angewiesen, wenn Sie die Maschine wechseln.

1
Saxophonist