web-dev-qa-db-ja.com

Gitログに今日のすべてのコミットを表示させる方法は?

今日git logを使用して行ったすべてのコミットを確認できるようにしたいと思います。 git log --after="yesterday"を思いついた
しかし、それは私には少し厄介に思えますが、同じ効果を達成するためのより簡単なコマンドはありますか?

75
agentbanks217

編集:これは承認された回答であるため、削除することはできないため、ここに@Simonの回答を投稿します。

git log --since="6am"

そしてもちろん、あなたはあなたにとって十分な「朝」になるように時間を調整することができます:)

84
abyx

多分一番良いのは

git log --since="6am"

あなたはあなたの都合に合わせて時間を調整することができます;)

61
Simon

このコマンドを短縮するエイリアスを作成できます

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

次に実行します:

git today
18
Dariusz

今日のallからコミットを取得するには...

git log --since=midnight
16
yoyo

ところで、これも機能します:
git log --since=am

4
suzanshakya

いくつかの有用な正解(例:git log --since="6am")はすでにありますが、Gitの特別な日付がドキュメントから欠落しているのは奇妙です(少なくともグーグル "yesterday" "noon" site: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構成変数は、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は、内部raw git形式%s %z形式で日付を表示します。

--date=defaultは、元のタイムゾーン(コミッターまたは作成者)のタイムスタンプを示します。

私のお気に入りの答えは from me_and であり、 git date.c class 。それをスキャンすると、このコードが見つかります(執筆時点では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);
}
3
dumbledad