web-dev-qa-db-fra.com

Existe-t-il un moyen de faire en sorte que git-reflog affiche une date à côté de chaque entrée?

Par défaut, la commande git-reflog n'affiche pas de date à côté de chaque entrée, ce qui me semble un étrange oubli. Je pense que cela serait très utile.

Existe-t-il des options de ligne de commande ou d’autres réglages pouvant être utilisés pour indiquer à quel moment chaque entrée de reflog a été ajoutée? Le page de manuel n'est pas à venir ...

248
Andrew Ferrier

Au fur et à mesure que la page de manuel écrit, vous pouvez utiliser les options de git log, par exemple git reflog --pretty=short ou de tout autre choix.

essayer

git reflog --date=iso
368
Balog Pal

Vous pouvez utiliser la variante --walk-reflogs de git log:

git log -g

Ceci est plutôt détaillé par défaut, et affiche la date entre autres. Vous pouvez le formater avec l'indicateur standard --pretty=.

Vous pouvez également utiliser la commande reflog directement avec l'indicateur --pretty= pour formater la sortie.

git reflog --pretty='%cd %h %Gd %gs'

Dans le format ci-dessus, %cd indique la date de validation à gauche de la sortie de reflog normale.

30
Klas Mellbourn

Indiquez git dans quel format, soit compté reflog entrées, soit temporisé _ reflog entrées, c.-à-d.

$ git reflog @{now}

$ git reflog @{0}
6
gitster

Vous devez utiliser un format personnalisé:

git reflog --format='%C(auto)%h %<|(20)%Gd %C(blue)%cr%C(reset) %gs (%s)'

Dans le format ci-dessus, %h est le hachage de validation, %cr est la date relative du commetteur, %gs est le sujet de refonte et %s est le sujet de validation. Regardez git-log docs pour d’autres espaces réservés. Par exemple, utiliser %ci au lieu de %cr affichera les dates de validation absolues.

Vous pouvez enregistrer ceci dans votre ~/.gitconfig en utilisant un format personnalisé pretty et y faire référence via un alias:

[alias]
    rl = reflog --pretty=reflog
[pretty]
    reflog = %C(auto)%h %<|(20)%Gd %C(blue)%cr%C(reset) %gs (%s)
5
blueyed

Remarque git 2.10 (T3 2016) améliore la documentation à propos de la date avec git reflog .

Voir commit 642833d , commit 1a2a1e8 (27 juil. 2016), et commit d38c7b2 , commit 522259d , commit 83c9f95 , commit 2b68222 (22 juil. 2016) par Jeff King (peff) .
Aidé par: Jeff King (peff) .
(Fusionnée par Junio ​​C Hamano - gitster - dans commit 0d32799 , 08 août 2016)

Les _rev-list_ options sont mises à jour :

L’indicateur de reflog dans la sortie peut être représenté par _ref@{Nth}_ (où Nth est l’indice chronologique inverse du reflog) ou par _ref@{timestamp}_ (avec l’horodatage de cette entrée), en fonction de quelques règles.

Cela inclut : - une mise à jour à propos de _--date=raw_:

affiche la date en secondes depuis l’époque (1970-01-01 00:00:00 UTC), suivie d’un espace, puis du fuseau horaire en décalage par rapport à UTC (un _+_ ou _-_ avec quatre chiffres, les deux premiers sont des heures et les deux derniers sont des minutes).
C'est-à-dire, comme si l'horodatage était formaté avec strftime("%s %z")).
Notez que l'option _-local_ n'affecte pas la valeur _seconds-since-Epoch_ (qui est toujours mesurée en UTC), mais modifie la valeur du fuseau horaire qui l'accompagne.

Et une nouvelle option: _--date=unix_

affiche la date sous forme d'horodatage d'époque Unix (secondes depuis 1970).
Comme pour _--raw_, ceci est toujours en UTC et donc _-local_ n'a pas d'effet.

4
VonC