program tip

git : 시간대 및 타임 스탬프 형식

radiobox 2020. 12. 7. 08:00
반응형

git : 시간대 및 타임 스탬프 형식


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의 게시물이 정말 도움이되었습니다.

YYYY-MM-DD HH : MM : SS 형식으로 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

주로 데스크톱 앱을 사용하는 경우 커밋 목록에 정확한 변경 시간을 표시하는 것이 좋습니다!

이것을 전역으로 만드는 방법이 있습니까? 그래서 각 로컬 저장소의 prepare-commit-msg 파일을 편집 할 필요가 없습니까?


전체 명령 줄 답변 :

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

YYYY-MM-DD HH : MM : SS 형식으로 git 날짜를 표시하려는 경우 :

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

참고 URL : https://stackoverflow.com/questions/7651644/git-timezone-and-timestamp-format

반응형