Comment git log dans l'ordre inverse?

180

J'ai récemment appris que je pouvais demander à hg log d'imprimer l'historique dans l'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?

Erik B
la source
1
man git-loggrep inverse.
scravy
2
man git-log /reverseet appuyez sur Entrée.
sjas
1
Pour plus de clarté, selon la documentation -r dans GIT se traduit par: "Afficher les différences récursives."
GuyPaddock

Réponses:

334

Utilisez l' --reverseoption:

git log --reverse
Makis
la source
49
Notez que par exemple git log -10 --reverseobtiendrait 10 derniers commits puis inverserait la liste.
Jakub Narębski
Vous pouvez créer un alias git: stackoverflow.com/questions/2553786/…
Makis
2
Cela fonctionne également (actuellement) pour git show, même si la documentation ne le mentionne pas. Par exemplegit show origin/master.. --reverse
Ryan Lundy
2
J'utilise git goldepuisgit log --reverse
Felipe Alvarez
14

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

Accédez à ou créez une section comme celle-ci:

[alias]
    lg = log -10 --reverse

Cela crée un alias git qui saisit les dix commits les plus récents, puis inverse cette liste de sorte que le plus récent de ces 10 se trouve en bas. Maintenant, vous pouvez simplement exécuter:

git lg

Chev
la source
8

Le commentaire de Jakub Narębski ("Notez que par exemple git log -10 --reverseobtiendrait les 10 derniers commits puis la liste inversée") a été clarifié dans Git 2.11 (T4 2016):

Voir commit 04be694 (27 sept. 2016) par Pranit Bauva ( pranitbauva1997) .
(Fusionné par Junio ​​C Hamano - gitster- dans commit 54a9f14 , 11 oct 2016)

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

Les utilisateurs se demandent souvent si les ncommits les plus anciens ou les plus récents sont affichés par log -n --reverse.
Précisez que cela --reversen'entre en jeu qu'après avoir décidé quels commits doivent être montrés pour les dissiper.

Voir Limitation de validation .

VonC
la source
0

Vous pouvez créer une fonction bashrc (en supposant que vous êtes sur un système d'exploitation Unixy)

function git_logr {

    git log --reverse

}
Adil Khan
la source
5
Une approche plus simple serait d'ajouter un alias pour quelque chose d'aussi simple: git config --global alias.logr 'log --reverse'Appelez en utilisant: git logr <arguments supplémentaires>
mhand
0

J'ai combiné quelques-unes des suggestions une en une et j'ai créé un alias.

git log -10 --pretty=oneline --abbrev-commit --reverse
alias gl='git log -10 --pretty=oneline --abbrev-commit --reverse'
wojcieh
la source