簡體   English   中英

如何使Git日志顯示今天的所有提交?

[英]How to make Git log show all of today's commits?

我希望能夠使用git log查看我今天提交的所有提交。 我想出了git log --after="yesterday"
然而,這對我來說似乎有點尷尬,是否有更簡單的命令來達到同樣的效果?

編輯:因為這是接受的答案我不能刪除它,所以我在這里張貼@西蒙的答案:

git log --since="6am"

當然,您可以將時間調整到適合“早晨”的任何時間:)

也許最好是使用

git log --since="6am"

您可以根據自己的方便調整時間;)

您可以創建別名以縮短此命令

git config --global alias.today 'log --since=7am'

然后執行:

git today

要獲得今天所有人的承諾......

git log --since=midnight

順便說一句,這也有效:
git log --since=am

已經有幾個有用的正確答案(例如git log --since="6am" )但奇怪的是文檔中缺少Git的特殊日期(至少谷歌搜索“昨天”“中午”網站:git-scm.com返回沒有結果)。

有很多方法可以找出可用的內容,例如,git日期語法規范的答案特別有用。 在一個Ryan O'Hara指出了這一點

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)

僅對以人類可讀格式顯示的日期生效,例如使用--pretty log.date config變量為log命令的--date選項設置默認值。

--date=relative顯示相對於當前時間的日期,例如“2小時前”。

--date=local顯示用戶本地時區的時間戳。

--date=iso (或--date=iso8601 )以ISO 8601格式顯示時間戳。

--date=rfc (或--date=rfc2822 )以RFC 2822格式顯示時間戳,通常在電子郵件中找到。

--date=short僅顯示日期,但不顯示時間,采用YYYY-MM-DD格式。

--date=raw以內部原始git格式%s %z格式顯示日期。

--date=default顯示原始時區(提交者或作者)的時間戳。

我最喜歡的答案來自me_and誰將我們引導到git date.c類 向下掃描,你會發現這段代碼(在寫這篇代碼的時候是第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 }
};

我肯定在使用git log --before=tea ,雖然看了date_tea函數但我認為他們沒有讀過Rupert Brooke

static void date_tea(struct tm *tm, struct tm *now, int *num)
{
    date_time(tm, now, 17);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM