Bitbucket上托管的Git回购..每天数一次我推送提交的次数

时间:2018-09-14 22:11:25

标签: git bitbucket

我想估算我在一个项目上做了多少工作。 我想数一下每天提交的内容。 所以我会知道我在这个项目上做了多少工作。

Bitbucket似乎没有在其Web应用程序中提供的信息(不同于github)

但是您可以使用git命令获得此类信息吗?

2 个答案:

答案 0 :(得分:1)

是的,您可以使用git log

git log --pretty=tformat:%ad --date=short | sort -u | wc -l

git log将从当前分支获取所有提交(或者,您可以指定分支的名称),以短格式(例如2018-09-15)打印其“作者日期”,然后{ 1}}将删除重复项,而sort -u将计算行数。

这假设您是唯一执行该回购协议的人。如果不是这种情况,请使用过滤器限制提交列表,例如:

wc -l

答案 1 :(得分:-1)

from="2019-10-07 00:00:01"
to="2019-10-07 23:59:59"
users=$(git shortlog -sn --no-merges --since="$from" --before="$to" | awk '{printf "%s %s\n", $2, $3}')
IFS=$'\n'
echo -e "User name;Files changed;Lines added;Lines deleted;Total lines (delta);Add./Del. ratio (1:n);Commit count"

for userName in $users
do
     result=$(git log --author="$userName" --no-merges --shortstat  --since="$from" --before="$to" | grep -E "fil(e|es) changed" | awk '{files+=$1; inserted+=$4; deleted+=$6; delta+=$4-$6; ratio=deleted/inserted} END {printf "%s;%s;%s;%s;%s", files, inserted, deleted, delta, ratio }' -)
     countCommits=$(git shortlog -sn --no-merges  --since="$from" --before="$to" --author="$userName" | awk '{print $1}')
     if [[ ${result} != ';;;;' ]]
     then
        echo -e "$userName;$result;$countCommits"
     fi
done

使用上述脚本获取更多详细信息