正文
那末问题来了,我如何知道我自己到底家了多少班呢???公司用的是
linus
开发的
git
来管理软件的,当然,我刚去的时候没人用
git
,都是我完善起来的。事实证明,这对我日后维权有着莫大的好处。
既然用的是
git
,那么我每一次提交代码都是有记录的,一个完整的
git
记录内容如下:
commit 78b2c07d52f0c567b8864eb2d0db25eb168822d0
Author: Pengfei-Gao <[email protected]>
Date: Thu Nov 16 10:06:16 2017 +0800
add package-lock.json
...
我们可以使用git的
git log --author=username
来打印出我提交代码的记录。然后就是找出我周末的提交记录,可以把
git log
的输出管道重定向到
grep
,使用
grep
来找出周末提交代码的记录,像下面这样子:
➜ git log --author=Pengfei-Gao | grep -E "Wed|Sun"
Date: Wed Nov 22 16:04:40 2017 +0800
Date: Wed Nov 15 16:42:21 2017 +0800
...
现在问题来了,同一天可能有多次提交,这样就会出现重复的记录,对统计造成一些麻烦,所以我们可以用
awk
来去掉单条记录的时、分、秒这些字段,然后用
sort -k2n | uniq
来去掉重复的记录,大概像下面这样子: