86 votes

git : fuseau horaire et format d'horodatage

Depuis git, je peux obtenir l'horodatage :

"2011-10-04 12:58:36 -0600"

mais y a-t-il un moyen de l'afficher comme :

"2011-10-04 06:58:36"

Tout ce que je veux, c'est me débarrasser du décalage du fuseau horaire -0600. Comment puis-je y parvenir ? Merci.

8 votes

FYI, 2011-10-04 12:58:36 -0600 serait 2011-10-04 18:58:36 UTC. Vous avez fait une conversion incorrecte dans votre exemple.

6voto

Kevin English Points 41

Une réponse complète en ligne de commande :

TZ=GMT git show -s --format=%cd --date=iso-local

2voto

papaJupe Points 51

Le post de jveerman a été très utile :

Si vous voulez afficher la date git au format AAAA-MM-JJ HH:MM:SS :

DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "Date: ${DATE::20}"

Pour le format du journal, j'ai pu ajouter ceci

[log]
date=format:%Y-%m-%d %H:%M:%S

à mon ~/.gitconfig

mais obtenir la même date/heure joliment formatée et ajoutée automatiquement à mes messages de livraison était un calvaire. Je n'ai rien trouvé d'utile jusqu'à ce que j'ajoute ceci au fichier .git/hooks/prepare-commit-msg :

DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "${DATE::20}" >> $1

Si vous utilisez principalement l'application de bureau, il est agréable d'avoir l'heure exacte de la modification affichée avec la liste des modifications !

Existe-t-il un moyen de rendre cela global, afin que je n'aie pas à modifier le fichier prepare-commit-msg de chaque dépôt local ?

1voto

jveerman Points 1

Si vous voulez afficher la date git au format AAAA-MM-JJ HH:MM:SS :

DATE=$(git log -n 1 --pretty=format :"%ad" --date=iso)
echo "Date : ${DATE::20}"

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