Git tanggal komitmen

192

Selain parsing git log untuk string tanggal, apakah ada cara asli Git untuk melaporkan tanggal komit tertentu?

Samer Buna
sumber
1
Hal baik: git-scm.com/docs/pretty-formats
Nevin Chen

Jawaban:

268

The acara perintah mungkin apa yang Anda inginkan. Mencoba

git show -s --format=%ci <commit>

Format lain untuk string tanggal juga tersedia. Periksa halaman manual untuk detailnya.

Tim Henigan
sumber
19
Untuk mendapatkan komit tanpa perbedaannya, gunakan log -1alih-alih show.
Josh Lee
36
Atau tambahkan '-s' ke perintah:git show -s --format="%ci" <commit>
aprock
6
Untuk pengguna di masa depan: Anda dapat melihat tanggal penulis dengan %ai.
user541686
4
untuk mendapatkan hanya unix cap waktu: gunakan git show -s --format =% ct <commit>
xiaoweiz
2
Jika Anda menginginkan format tanggal lain, Anda dapat menggunakan git show -s --format=%cd --date=short <commit>(akan memberikan mis. 2016-11-02) atau git show -s --format=%cd --date=short <commit>atau git show -s --format=%cd --date=format:%Y <commit>(contoh ini hanya akan mencetak tahun) Untuk detail, lihat jawaban ini .
amoebe
27

Jika Anda hanya ingin melihat tanggal tag yang akan Anda lakukan:

git show -s --format=%ci <mytagname>^{commit}

pemberian yang mana: 2013-11-06 13:22:37 +0100

Atau lakukan:

git show -s --format=%ct <mytagname>^{commit}

yang memberikan cap waktu UNIX: 1383740557

Marcus Philip
sumber
19

Jika Anda ingin memiliki timestamp tanpa zona waktu tetapi zona waktu setempat lakukan

git log -1 --format=%cd --date=local

Yang memberikan ini tergantung pada lokasi Anda

Mon Sep 28 12:07:37 2015
schoetbi
sumber
1

jika Anda mendapat masalah dengan perintah cmd windows dan .bat hanya melarikan diri persen seperti itu

git show -s --format=%%ct

% Karakter memiliki arti khusus untuk parameter baris perintah dan parameter UNTUK. Untuk memperlakukan persen sebagai karakter biasa, gandakan: %%

Sintaks: Karakter Escape, Pembatas dan Kutipan

Andrey Tikhonov
sumber