今日git log
を使用して行ったすべてのコミットを確認できるようにしたいと思います。 git log --after="yesterday"
を思いついた
しかし、それは私には少し厄介に思えますが、同じ効果を達成するためのより簡単なコマンドはありますか?
編集:これは承認された回答であるため、削除することはできないため、ここに@Simonの回答を投稿します。
git log --since="6am"
そしてもちろん、あなたはあなたにとって十分な「朝」になるように時間を調整することができます:)
多分一番良いのは
git log --since="6am"
あなたはあなたの都合に合わせて時間を調整することができます;)
このコマンドを短縮するエイリアスを作成できます
git config --global alias.today 'log --since=7am'
次に実行します:
git today
今日のallからコミットを取得するには...
git log --since=midnight
ところで、これも機能します:git log --since=am
いくつかの有用な正解(例: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);
}