我希望能够使用
git log
命令查看我今天提交的所有代码。我尝试了使用参数--after="yesterday"
,但是这种方式对我来说有些复杂。是否有更简单的命令来实现同样的效果?编辑:由于这是被接受的答案,我无法删除它,因此我在这里发布@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 的特殊日期在文档中缺失(至少在 Google 搜索 "yesterday" "noon" site:git-scm.com 上没有返回结果)。我最喜欢的答案是来自me_and的答案,他将我们引导到git date.c 类。在那里向下扫描,您会找到这段代码(在撰写本文时,它位于第925行)。
--date=(relative|local|default|iso|rfc|short|raw)
仅适用于以人类可读格式显示的日期,例如使用
--pretty
时。log.date配置变量为日志命令的--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
显示原始时区(提交者或作者的时区)的时间戳。
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 }
};
尽管我查看了date_tea
函数,但我确定要使用git log --before=tea
。我认为他们没有阅读鲁珀特·布鲁克的作品。
static void date_tea(struct tm *tm, struct tm *now, int *num)
{
date_time(tm, now, 17);
}
git log --since=am
git log --after="yesterday"
似乎是最接近正确的方法,但它最终会包括昨天发生的事情以及之后发生的事情。 - user153275git log --since="yesterday"
很有效。加上--pretty="oneline"
看起来也很好看... (git 版本为 1.7.10) - Nick