5
votes

Problème de Git Log: la date ne s'affiche pas lorsque l'option en ligne est utilisée

Je vois beaucoup de bonnes réponses dans Jolis graphiques de branche git qui montrent l'option en ligne pour git log utilisé avec des dates . Cependant, lorsque j'exécute ces commandes, ma sortie est différente, je ne vois pas les dates. Les options --oneline et --date = semblent incompatibles.

Résultat pour git log --date = iso :

 entrez la description de l'image ici

Résultat pour git log --date = iso --oneline :

 entrez la description de l'image ici

J'ai essayé ceci sur trois ordinateurs différents avec des résultats similaires.

Mise à jour:

La question liée demande "Comment valider la date". Peut-être veulent-ils dire "Comment afficher la date de validation", mais dans l'état actuel des choses, la question n'est pas claire. En outre, dans l'éventuel duplicata, l'OP demande plusieurs options simultanément. Je demande spécifiquement comment afficher ou imprimer les dates (date de l'auteur ou date de validation) lorsque vous utilisez l'option en ligne . L'autre OP est également concerné par la taille de l'historique des commit, qui sort également du cadre de ma question.

Peut-être que l'autre question pourrait être modifiée pour correspondre à cette question, mais elle ne s'est pas posée lorsque j'ai recherché ce problème (même si je n'ai pas utilisé spécifiquement la balise git-log , car Je n'ai pas remarqué cette balise avant de rechercher les balises appropriées pour ma question).

De plus, je ne connais aucun autre moyen efficace d'afficher les résultats du formatage imprimé sans utiliser de captures d'écran, en particulier parce qu'elles ont des couleurs. Pour ce que ça vaut, la question liée utilise également des captures d'écran.


4 commentaires

Le format --oneline ne sélectionne aucune option de mise en forme de la date, donc le paramètre --date pour ces options de format n'a aucun effet. Utilisez un format différent, qui contient une option de mise en forme de la date. (Remarque: --oneline est exactement le même que --pretty = oneline --abbrev-commit .)


Copie possible de Comment s'engager date dans "git log --all --graph --oneline --simplify-by-decoration"


stackoverflow.com/search?q=%5Bgit-log%5D+oneline+date


Après avoir soigneusement recherché et résolu la question, j'ai réalisé que je voulais en fait reflog , ce qui est bien pour mes besoins avec un simple git reflog --date = iso ... doh


3 Réponses :


1
votes

Vous ne pouvez en effet pas utiliser ces deux options ensemble. Vous pouvez cependant émuler ce comportement en indiquant explicitement le format:

$ git log --format='%h (%ai) %s'


2 commentaires

Perd la notation (HEAD -> master) et les couleurs.


@ 2540625 Voir ma réponse. Il a des couleurs et des décorateurs exactement les mêmes que --online



3
votes

Doit ajouter la date au format .

Par exemple:

git log --pretty=format:"%h %s %an %ad" --date=relative

% ad signifie "date de l'auteur" en utilisant la valeur de l'option --date


1 commentaires

Perd la notation (HEAD -> master) et les couleurs.



1
votes
git log --pretty=format:'%C(auto)%h%d %s %aN %ad'
That has the same formatting (colors and information) plus adds the Author name and  date (%aN %ad) to the end unformatted (you can move them wherever you like). I spent over an hour trying to figure out how to get %d (refs like branches, tags, etc.) to show up with different colors depending on remote, local, type, etc., but it simply needed %C(auto) in front of it all to copy the formatting that --oneline uses. Since author and date aren't in --oneline, they're just the normal text color for your terminal. You can add whatever separators and coloring you want. See https://www.git-scm.com/docs/git-log#_pretty_formats for a reference to all the formats you can use.You can add --date=xxx to specify date format.

0 commentaires