221 votes

Comment faire un git log dans l'ordre inverse ?

J'ai récemment appris que je peux faire en sorte que hg log imprime l'historique en ordre inverse avec :

hg log -r :

Alors, bien sûr, j'ai essayé :

git log -r :

Eh bien, ça n'a pas marché. Alors quelle est la commande pour faire la même chose dans git ?

2 votes

man git-log grep reverse.

4 votes

man git-log /reverse et appuyez sur la touche Entrée.

1 votes

Pour plus de clarté, selon les docs -r dans GIT se traduit par : "Montrer les diffs récursifs".

403voto

Makis Points 3861

Utilisez le --reverse opción:

git log --reverse

57 votes

Notez que, par exemple git log -10 --reverse obtiendrait 10 dernier commet puis liste inverse.

0 votes

Vous pouvez créer un alias git : stackoverflow.com/questions/2553786/

3 votes

Cela fonctionne également (actuellement) pour git show même si la documentation ne le mentionne pas. Par exemple git show origin/master.. --reverse

15voto

Alex Ford Points 15277

Vous n'avez pas besoin de taper --reverse tout le temps, et vous n'avez pas besoin d'une fonction bash. Vous pouvez simplement créer un alias git. Ouvrez votre éditeur de texte préféré et ouvrez votre fichier global .gitconfig fichier. Il se trouve généralement dans votre répertoire personnel.

Naviguez vers ou créez une section comme ceci :

[alias]
    lg = log -10 --reverse

Cela crée un alias git qui récupère les dix commits les plus récents. puis inverse cette liste afin que le plus récent de ces 10 soit en bas de la liste. Maintenant, vous pouvez simplement exécuter :

git lg

9voto

VonC Points 414372

Jakub Narębski 's commentaire ("Notez que par exemple git log -10 --reverse obtiendrait 10 derniers engagements puis reverse list") a été clarifié dans Git 2.11 (Q4 2016) :

Voir commit 04be694 (27 septembre 2016) par Pranit Bauva ( pranitbauva1997 ) .
(fusionné par Junio C Hamano -- gitster -- en commettre 54a9f14 , 11 oct. 2016)

rev-list-options clarifier l'utilisation de --reverse

Les utilisateurs se demandent souvent si le plus ancien ou le plus récent n sont affichés par log -n --reverse .
Préciser que --reverse ne s'applique que après en décidant quels commits doivent être montrés pour ne pas les perturber.

Voir Limitation des engagements .

1 votes

Mais que faire si vous voulez l'inverse avant le -n ? Je n'arrive pas à comprendre. (alias le premier commit)

0 votes

C'est peut-être un peu inefficace mais cela a fonctionné pour moi. git log --reverse --format=%cd | head -n 1

1voto

CodeFarmer Points 372

Aucun des éléments ci-dessus ne fonctionne... sauf celui-ci avec le message de livraison récent + les statistiques.

git log --graph --stat

Plus de snippet ~/.gitconfig :

lg1 = log --graph --abbrev-commit --decorate --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"
lg3 = log -10 --reverse --abbrev-commit

0voto

user789703 Points 9

Vous pourriez créer une fonction bashrc (en supposant que vous êtes sur un os unixy)

function git_logr {

    git log --reverse

}

5 votes

L'approche la plus simple serait d'ajouter un alias pour quelque chose d'aussi simple : git config --global alias.logr 'log --reverse' Invoke using : git logr <additional arguments>

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