[Practical Git] Filter commit history with git log arguments

Git日志高级筛选技巧
本文介绍了如何使用Git的日志命令进行高级筛选,包括按时间、作者、提交信息及文件等维度过滤提交记录,帮助开发者高效查找特定提交。

In the last lesson, we learned how to format the git log output; in this lesson we will learn how to filter down to a specific set of commits. By default, git log shows every commit in a repo. We will walk through using a bunch of options to filter our git log commits to a more meaningful set (-n--after--before--author--grep-S-G--no-merges{ref}..{ref}{files}). We will also show how all of the formatting and filtering options can be composed together to query exactly what you are looking for in your commit history.

 

Show lasat N commit:

git log -3 // show last three commit

 

Show commits from a center time:

git log --after="yesterday" // Show the commit between yesterday and today
git log --after="10 minutes ago"
git log --after="2 weeks ago"
git log --after="3/15/16" // Match 15, 2016

 

Combine with --before:

git log --after="3/15/16" --before="yesterday"

 

The same as:

git log --since="3/15/16" --until="yesterday"

 

Filter by author:

git log --author="Tavor"

 

Filter by the commit message:

git log --grep="copyright"

 

Filter by the code using string:

git log -S"Math.random" -p // get all the commit which has Math.random changes in the code, and use -p option to see the code

Filter by the code using Regex:

git log -p -GMath\|random // Using 'G' without quotes and follow with regex math or random

 

Ingore the case:

git log -i --author="Jane" // search both for "Jane" and "jane"

git log --author="Jane" // search only for "Jane"

 

Filter out merges commit:

git log --no-merges

 

See the commits between two branch:

git log master..cool-feature

 

Search by files:

git log LIENCE.md README.md // search for lience and readme files

 

Example:

git log -3 README.md -p -i --author="Tavor" // Want to see last 3 change on README.md file by author Tavor, ignor the case, and show the code
git log -S"Math" --after="2 months ago" --oneline --stat

 

转载于:https://www.cnblogs.com/Answer1215/p/5759503.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值