web-dev-qa-db-fra.com

Impossible d'afficher un arbre Git dans le terminal

Ancien article de Killswitchcollective.com du 30 juin 2009 , possède les entrées et sorties suivantes

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

Je suis intéressé par la façon dont vous obtenez l’arbre de type commits dans votre terminal sans utiliser Gitk ou Gitx sous OS/X.

Comment pouvez-vous obtenir la vue arborescente des commits dans le terminal?

Comment pouvez-vous obtenir la vue arborescente des commits dans le terminal?

git log --graph --oneline --all

est un bon début.

Vous pouvez recevoir des lettres étranges. Ce sont ASCII codes pour les couleurs et la structure. Pour résoudre ce problème, ajoutez ce qui suit à votre .bashrc:

export LESS="-R"

de sorte que vous n'avez pas besoin d'utiliser le filtre ASCII de Tig par

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

L'article graphe textuel de Git-ready contient d'autres options:

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

git log graph

En ce qui concerne l'article que vous mentionnez, j'irais avec réponse de Pod : sortie ad-hoc faite à la main.


Jakub Narębski mentionne dans les commentaires tig, une interface en mode texte basée sur ncurses pour git. Voir leurs communiqués .
Il a ajouté ne option --graph en 2007.

710
VonC

Une solution consiste à créer un alias dans votre .gitconfig et à l'appeler facilement:

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

Et lors de votre prochain appel, vous utiliserez:

git tree

Pour le mettre dans votre ~/.gitconfig sans avoir à le modifier, vous pouvez faire:

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

(Si vous n'utilisez pas le --global, cela le mettra dans le fichier .git/config de votre dépôt actuel.)

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

Un arbre visuel avec les noms de branche inclus.

Utilisez ceci pour l'ajouter comme un alias

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

Vous l'appelez avec

git tree

Git Tree

114
Sebastian Patten

tig

Si vous voulez un arbre interactif , vous pouvez utiliser tig . Il peut être installé par brew sous OSX et apt-get sous Linux.

brew install tig
tig

C'est ce que vous obtenez:

enter image description here

52
Mohsen

Garder vos commandes courtes facilitera leur mémorisation:

git log --graph --oneline
5
JSON C11

Je suggère à quiconque d'écrire la commande complète

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

plutôt que de créer un alias.

C’est bien d’avoir les commandes en tête, pour le savoir par cœur, c’est-à-dire ne pas dépendre d’alias lorsque vous changez de machine.

1
Saxophonist