яма
существуетwindows
конфигурация в окруженииgitstats
, встретил много ям
0.04300] >> gnuplot --version
gnuplot not found
'gnuplot' 不是内部或外部命令,也不是可运行的程序
或批处理文件
'wc' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
[0.15000] >> git shortlog -s HEAD | wc -l
Traceback (most recent call last):
File "gitstats", line 1490, in <module>
g.run(sys.argv[1:])
File "gitstats", line 1465, in run
data.collect(gitpath)
File "gitstats", line 289, in collect
self.total_authors += int(getpipeoutput(['git shortlog -s %s' % getlogrange(), 'wc -l']))
ValueError: invalid literal for int() with base 10: ''
Решил одну яму за другой, все еще не могу бежать
Ни в коем случае, передумай
На официальном сайте представлены различные способы установки системы,windows
Независимо от того, какая среда настроена, легко столкнуться с ямами илиLinux
хорошо
существуетUbuntu
Вниз:
- воплощать в жизнь
apt-get install gitstats
gitstats 项目地址 输出地址
Готово, очень гладко.
gitstats
Статистика очень полная
Подсчитайте коммиты нескольких проектов git за один день
commit.sh
:
#!/bin/bash
# 项目所有目录
ITEM_PATH=/media/moveDir/dxq/testStats
# 统计结果输出文件
curRecordFile=/media/moveDir/gitCodeStat-`date "+%Y%m"`".log"
TODAY_DATE=`date "+%Y-%m-%d %H:%M:%S"`
# 统计周期长度,默认为1天前的
STAT_DURATION_DAY=1
# 统计代码
function statCode(){
git fetch --all
git pull --all
# linux: Already up-to-date. win:Already up to date.
#if test "Already up to date." = "${isUpdate}"
echo -e "stat git code => $(pwd)"
# 统计一天内每个开发人员提交的次数,增加的行数,减小的行数与相对增加的行数
git log --all --format='%aN' --since=${STAT_DURATION_DAY}.day.ago | sort -u | while read name; do echo -en "$TODAY_DATE $1 $name"; \
git log --all --since=${STAT_DURATION_DAY}.day.ago --author="$name" --pretty=oneline | awk -vsum=0 '{ sum += 1 } END { printf " %s", sum }' -; \
git log --all --since=${STAT_DURATION_DAY}.day.ago --author="$name" --pretty=tformat: --numstat | awk -vadd=0 -vsubs=0 -vloc=0 '{ add += $1; subs += $2; loc += $1 - $2 } END { printf " %s %s %s \n", add, subs, loc }' -; done >> $curRecordFile
}
# 遍历文件夹下的所有项目文件夹
function readDir() {
echo "current record file name: $curRecordFile"
echo "date project name commits addLines removeLines oppositeAddLines"
ls
cd $ITEM_PATH
ls
for subDir in `ls $ITEM_PATH` ;
do
echo "sub dir : $subDir"
cd $subDir
echo "current dir: $(pwd)"
statCode $subDir
cd ../
done
echo "" >> $curRecordFile
}
# 启动脚本
readDir
Выполнение заказа:sudo /bin/bash ./commit.sh