Can I see all of the commits which were made on a Sunday? Any and all Sundays, to be clear.
Based on jingx's answer, the following will give you a log of all commits made on a Sunday.
git log --pretty='format:%h %cd' | grep 'Sun' | awk '{print $1}' | while read rev; do
git show $rev | head -6
done
Explanation
git log --pretty='format:%h %cd'
gives a shortened log of all commits with their SHAs and commit dates. These dates contain day of the week as well.
grep 'Sun'
filters out all lines of that log with 'Sun' on it, i.e., all commits made on Sundays.
awk '{print $1}'
extracts the first word of each of these lines, i.e. the SHA values of each commit.
while read rev
loops through each SHA value extracted from the previous awk
. At each iteration, the SHA value will be stored in the rev
variable.
git show $rev
shows the log of the commit with the SHA $rev
.
head -6
extracts the first 6 lines of that log.
jingx's answer is correct, upvoted!
I just would like to mention that at some point I also wanted to retrieve the same kind of specificity, like any and all commits done:
-9 GMT
hour33rd
secondFri 13th
1337
files777
impact (insertions
- deletions
)...and found git log
interface a bit lacking. But the data is there!
I created therefore https://github.com/dreamyguy/gitlogg, which parses commits of any number of repositories into one conveniently sanitised JSON
file. Enjoy!
Something like
git log --pretty='format:%h %cd' |grep Sun
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With