Из git Я могу получить метку времени:
"2011-10-04 12:58:36 -0600"
но есть ли способ показать это как:
"2011-10-04 06:58:36"
Итак, все, что я хочу, это избавиться от смещения временной шкалы -0600. Как я могу это сделать? Спасибо.
Из git Я могу получить метку времени:
"2011-10-04 12:58:36 -0600"
но есть ли способ показать это как:
"2011-10-04 06:58:36"
Итак, все, что я хочу, это избавиться от смещения временной шкалы -0600. Как я могу это сделать? Спасибо.
Если вы спросите о git log, вы можете попробовать выбрать наиболее правильную форму из:
git log --date={relative,local,default,iso,rfc}
--date=local
кажется, лучший кандидат.
Чтобы сделать это постоянным, используйте git config --global log.date local
.
git log --date=local
Есть трюк.
git config --global log.date local
TZ=UTC git log --date=local
чтобы получить однозонный выход не локально-временной зоны.
К сожалению, использование git log --date=local
, как описано в предыдущих ответах, изменяет формат вывода.
Чтобы сохранить формат в соответствии с запросом (YYYY-MM-DD HH:mm
), мне пришлось использовать:
git log --date=iso-local
Но это работает только на git 2.7 или выше.
Чтобы получить формат (YYYY-MM-DD HH:hh
), вы можете использовать:
git log --date=format:%Y-%m-%d\ %H:%M
Прекрасно работает и с Git Standup: https://github.com/kamranahmedse/git-standup
Сообщение jveerman было действительно полезно:
Если вы хотите отобразить дату git в формате ГГГГ-ММ-ДД ЧЧ: ММ: СС:
DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "Date: ${DATE::20}"
Для формата журнала мне удалось добавить этот
[log]
date=format:%Y-%m-%d %H:%M:%S
для моего ~/.gitconfig
но получение такой же красиво отформатированной даты/времени, добавленной автоматически в мои сообщения о совершении, было испытанием. Я не нашел ничего полезного, пока не добавил его в файл .git/hooks/prepare-commit-msg:
DATE=$(git log -n 1 --pretty=format:"%ad" --date=iso)
echo "${DATE::20}" >> $1
Если вы в основном используете приложение "Настольное приложение", вам будет приятно указать точное время с указанием списка фиксации!
Есть ли способ сделать это глобальным, так что мне не нужно редактировать каждый файл repo prepare-commit-msg?
Если вы хотите отобразить дату git в формате ГГГГ-ММ-ДД ЧЧ: ММ: СС:
DATE = $(git log -n 1 --pretty = format: "% ad" --date = iso)
echo "Дата: ${DATE:: 20}"
Полный ответ командной строки:
TZ=GMT git show -s --format=%cd --date=iso-local