我想估算我在一个项目上做了多少工作。 我想数一下每天提交的内容。 所以我会知道我在这个项目上做了多少工作。
Bitbucket似乎没有在其Web应用程序中提供的信息(不同于github)
但是您可以使用git命令获得此类信息吗?
答案 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
使用上述脚本获取更多详细信息