を使用して今日行ったすべてのコミットを確認できるようにしたいと思いますgit log
。私が思いついたgit log --after="yesterday"
のですが、それは私には少し厄介に思えますが、同じ効果を達成するためのより簡単なコマンドはありますか?
6 に答える
編集:これは受け入れられた答えなので、削除することはできません。@Simonの答えをここに投稿します。
git log --since="6am"
そしてもちろん、あなたはあなたにとって十分に「朝」であるものに時間を調整することができます:)
たぶん最高は使用することです
git log --since="6am"
あなたはあなたの都合に合わせて時間を調整することができます;)
今日のすべてからコミットを取得するには...
git log --since=midnight
このコマンドを短縮するエイリアスを作成できます
git config --global alias.today 'log --since=7am'
次に、以下を実行します。
git today
すでにいくつかの有用な正解がありますが(たとえばgit log --since="6am"
)、Gitの特別な日付がドキュメントにないのは奇妙です(少なくとも「昨日」「正午」のサイト:git-scm.comは結果を返しません)。
利用可能なものを見つける方法はいくつかあります。たとえば、git日付の構文に関する仕様への回答は特に役立ちます。あるライアン・オハラはそれを指摘しています
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
)は、タイムスタンプをISO8601形式で表示します。
--date=rfc
(または--date=rfc2822
)は、RFC 2822形式のタイムスタンプを示します。これは、電子メールメッセージでよく見られます。
--date=short
日付のみを表示し、時刻は表示しませんYYYY-MM-DD
。
--date=raw
は、内部のrawgit形式%s %z
形式で日付を表示します。
--date=default
元のタイムゾーン(コミッターまたは作成者のいずれか)のタイムスタンプを表示します。
私のお気に入りの答えは、 私たちをgitdate.cクラスに誘導するme_andからです。それをスキャンすると、次のコードが見つかります(執筆時点では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
を読んだとは思わない:
static void date_tea(struct tm *tm, struct tm *now, int *num)
{
date_time(tm, now, 17);
}
ところで、これも機能します:
git log --since=am