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
完全なコマンドライン回答:
TZ=GMT git show -s --format=%cd --date=iso-local
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ファイルを編集する必要はありませんか?
YYYY-MM-DD HH:MM:SS形式でgit日付を表示する場合:
DATE = $(git log -n 1 --pretty = format: "%ad" --date = iso)
echo「日付:$ {DATE :: 20}」