web-dev-qa-db-fra.com

git: format du fuseau horaire et de l'horodatage

De git je peux obtenir l’horodatage:

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

mais y a-t-il un moyen de le montrer comme:

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

Donc, tout ce que je veux, c'est me débarrasser du décalage horaire -0600. Comment puis-je faire ceci? Merci.

54
SandyBr

Si vous posez des questions sur git log, vous pouvez essayer de sélectionner le formulaire le plus approprié à partir de:

git log --date={relative,local,default,iso,rfc}

--date=local semble être le meilleur candidat.

Pour rendre cela permanent, utilisez git config --global log.date local.

58
Lazy Badger
git log --date=local

Fait le tour.

git config --global log.date local
33
bond
TZ=UTC git log --date=local

afin d’obtenir une sortie d’un fuseau horaire unique non-timezone-timezone.

26
Christian

Malheureusement, utiliser git log --date=local comme expliqué dans les réponses précédentes modifie le format de sortie.

Pour conserver le format tel que demandé (YYYY-MM-DD HH:mm), je devais utiliser:

git log --date=iso-local

Mais cela ne fonctionne que sur Git 2.7 ou supérieur.

7
Fabio Marreco

Pour obtenir le format (YYYY-MM-DD HH:hh), vous pouvez utiliser:

git log --date=format:%Y-%m-%d\ %H:%M

Fonctionne aussi très bien avec Git Standup: https://github.com/kamranahmedse/git-standup

5
Will Wright

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

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

le post de jveerman a été vraiment utile:

Si vous souhaitez afficher la date du 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 de journal, j'ai pu ajouter ceci

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

à mon ~/.gitconfig 

mais ajouter la même date/heure bien formatée à mes messages de validation était une épreuve. Je n'ai rien trouvé d'utile jusqu'à ce que je l'ajoute 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 Desktop, il est agréable d'afficher l'heure exacte du changement avec la liste de validation!

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

1
papaJupe

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

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

0
jveerman