Affichage de l'arborescence complète des versions dans git


115

J'utilise la version en ligne de commande de Git et gitk. Je veux voir l'arborescence complète des versions, pas seulement la partie accessible à partir de la version actuellement extraite. C'est possible?

Réponses:


79

Vous pouvez essayer ce qui suit:

gitk --all

Vous pouvez dire gitkquoi afficher en utilisant tout ce qui git rev-listcomprend , donc si vous ne voulez que quelques branches, vous pouvez faire:

gitk master origin/master origin/experiment

... ou des choses plus exotiques comme:

gitk --simplify-by-decoration --all

292

si vous n'avez pas d'interface graphique disponible, vous pouvez également imprimer le graphique de validation sur la ligne de commande:

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

si cette commande se plaint d'une option invalide --oneline, utilisez:

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

6
qui a besoin de gitk quand on a gitl! alias gitl = 'git log --oneline --graph --decorate --all'
Thunder Rabbit

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

J'espère que les abréviations de ligne de commande ont été inventées avant la fin de l'onglet. Ils ne profitent qu'à ceux qui utilisent beaucoup ces commandes et à ceux qui ont des souvenirs fous.
aaaaaa

121
  1. Lorsque je suis sur mon lieu de travail avec un terminal uniquement, j'utilise:

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

    entrez la description de l'image ici

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

    gitk --all

    entrez la description de l'image ici

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

    entrez la description de l'image ici


Réponse parfaite pour moi. Mon système d'exploitation prend en charge l'interface graphique, donc la deuxième option est ma voie à suivre, mais disons que je veux juste jeter un coup d'œil très rapidement sur le graphique à partir de la ligne de commande: y a-t-il un moyen d'éviter de taper tous ces commutateurs de la première version, ou vous tapez-les tout le temps? Je vous remercie.
rchrd

1
@rchrd Je les définirais comme alias en exécutant git config --global alias.ver "log --oneline --graph --color --all --decorate"et je n'aurais besoin de taper que git verpar la suite.
somme de contrôle

23

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"

5

La réputation ne suffit pas pour commenter la réponse de knittl, alors:

Si vous n'avez pas besoin de 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 la séquence de touches lors de la sortie):
git log --oneline --graph --all --no-decorate --no-color

Vous voudrez peut-être utiliser un alias (dans .gitconfig) pour vous 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 --decorate

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.