135 votes

Affichage de l'arborescence complète dans git

Je suis en train d'utiliser la version en ligne de commande de Git et gitk. Je veux voir l'arbre complet de la version, pas seulement la partie qui est accessible depuis la version actuellement check-out. Est-ce possible?

326voto

knittl Points 64110

Si vous n'avez pas d'interface graphique disponible, vous pouvez également imprimer le graphique des commits en ligne de commande :

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

si cette commande affiche une erreur avec une option invalide --oneline, utilisez :

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

7 votes

Qui a besoin de gitk quand nous avons gitl! alias gitl='git log --oneline --graph --decorate --all'

11 votes

alias gl='git log --oneline --graph --decorate --all'. Pourquoi taper plus que nécessaire ;)

0 votes

J'espère que les abréviations de ligne de commande ont été inventées avant l'achèvement par onglet. Ils ne profitent qu'à ceux qui utilisent beaucoup ces commandes et à ceux qui ont une mémoire folle.

140voto

checksum Points 985
  1. Quand je suis au travail avec uniquement le terminal, j'utilise :

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

    description de l'image

  2. Quand le système d'exploitation prend en charge l'interface graphique, j'utilise :

    gitk --all

    description de l'image

  3. Quand je suis sur mon PC Windows à la maison, j'utilise mon propre GitVersionTree

    description de l'image

0 votes

Réponse parfaite pour moi. Mon OS prend en charge l'interface graphique, donc la deuxième option est la voie à suivre, mais disons que je veux juste jeter un coup d'œil rapide au graphique depuis la ligne de commande : y a-t-il un moyen d'éviter de taper tous ces commutateurs de la première version, ou devez-vous simplement les retaper à chaque fois ? Merci.

1 votes

@rchrd je les définirais comme alias en exécutant git config --global alias.ver "log --oneline --graph --color --all --decorate" et il suffit de taper git ver par la suite.

87voto

Mark Longair Points 93104

Vous pouvez essayer ce qui suit:

gitk --all

Vous pouvez dire à gitk ce qu'il doit afficher en utilisant tout ce que git rev-list comprend, donc si vous voulez juste quelques branches, vous pouvez faire:

gitk master origin/master origin/experiment

... ou des choses plus exotiques comme:

gitk --simplify-by-decoration --all

28voto

DaSh Points 510

Il y a une très bonne réponse à la même question.
Ajout des lignes suivantes à "~/.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"

15voto

clarkttfu Points 347

Si vous n'avez pas besoin du nom de branche ou de tag :
git log --oneline --graph --all --no-decorate

Si vous n'avez même pas besoin de couleur (pour éviter les séquences de couleur tty) :
git log --oneline --graph --all --no-decorate --no-color

Et un alias pratique (dans .gitconfig) pour faciliter la vie :

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

Seule la dernière option prend effet, il est donc même possible de remplacer votre alias :

git tree --decorer

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X