Đã có một số câu trả lời đúng hữu ích (ví dụ git log --since="6am"
:) nhưng thật kỳ lạ là ngày tháng đặc biệt của Git bị thiếu trong tài liệu (ít nhất là googling "hôm qua" "trang web: git-scm.com không trả về kết quả).
Có nhiều cách để tìm ra những gì có sẵn, ví dụ câu trả lời cho Đặc tả cho cú pháp của ngày tháng git đặc biệt hữu ích. Trong một lần Ryan O'Hara chỉ ra rằng
it seems to accept all formats that it can output, as described in the documentation for the --date option:
--date=(relative|local|default|iso|rfc|short|raw)
Chỉ có hiệu lực đối với những ngày được hiển thị ở định dạng con người có thể đọc được, chẳng hạn như khi sử dụng
--pretty
. log.date
biến cấu hình đặt giá trị mặc định cho --date
tùy chọn của lệnh nhật ký .
--date=relative
hiển thị ngày tháng so với thời gian hiện tại, ví dụ: "2 giờ trước".
--date=local
hiển thị dấu thời gian trong múi giờ địa phương của người dùng.
--date=iso
(hoặc --date=iso8601
) hiển thị dấu thời gian ở định dạng ISO 8601.
--date=rfc
(hoặc --date=rfc2822
) hiển thị dấu thời gian ở định dạng RFC 2822, thường thấy trong các thư E-mail.
--date=short
chỉ hiển thị ngày nhưng không hiển thị thời gian, ở YYYY-MM-DD
định dạng.
--date=raw
hiển thị ngày ở định dạng git thô nội bộ %s %z
.
--date=default
hiển thị dấu thời gian trong múi giờ gốc (của người cam kết hoặc của tác giả).
Câu trả lời yêu thích của tôi có từ me_and người hướng dẫn chúng ta lớp date.c git . Quét xuống và bạn tìm thấy mã này (tại thời điểm viết, nó nằm trên dòng 925):
static const struct special {
const char *name;
void (*fn)(struct tm *, struct tm *, int *);
} special[] = {
{ "yesterday", date_yesterday },
{ "noon", date_noon },
{ "midnight", date_midnight },
{ "tea", date_tea },
{ "PM", date_pm },
{ "AM", date_am },
{ "never", date_never },
{ "now", date_now },
{ NULL }
};
Tôi chắc chắn đang sử dụng git log --before=tea
, mặc dù nhìn vào date_tea
chức năng, tôi không nghĩ rằng họ đã đọc Rupert Brooke :
static void date_tea(struct tm *tm, struct tm *now, int *num)
{
date_time(tm, now, 17);
}
git log --after="yesterday"
dường như gần đúng nhất, nhưng nó kết thúc bao gồm những điều xảy ra ngày hôm qua cùng với những điều xảy ra sau ngày hôm qua.