首页 > 其他分享 >git 统计 提交记录

git 统计 提交记录

时间:2024-04-08 09:56:57浏览次数:23  
标签:15s git log 记录 -- 提交 printf subs

1、一段时间 某人提交的代码行数

git log --since=2024-03-01 --until=2024-03-31 --author="zhangsan" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }' -

2、一段时间 某人提交的次数

git log --since='2024-3-1' --before='2024-4-1' --author="zhangsan" --pretty='%aN' |sort |uniq -c | sort -k1 -n -r

3、一段时间 某人提交的次数
统计整体shell脚本

windows,直接拖到git bash上运行

#!/bin/sh

# 请在 unix 终端或 git-bash 中运行此脚本

printf "\n1. 项目成员数量:"; git log --pretty='%aN' | sort -u | wc -l

printf "\n\n2. 按用户名统计代码提交次数:\n\n"
printf "%10s  %s\n" "次数" "用户名"
git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5
printf "\n%10s" "合计";
printf "\n%5s" ""; git log --oneline | wc -l

printf "\n3. 按用户名统计代码提交行数:\n\n"
printf "%25s +s = +s - %18s\n" "用户名" "总行数" "添加行数" "删除行数"
git log --format='%aN' | sort -u -r | while read name; do printf "%25s" "$name"; \
git log --author="$name" --pretty=tformat: --numstat | \
awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "%15s %15s %15s \n", loc, add, subs }' \
-; done

printf "\n%25s   " "总计:"; git log --pretty=tformat: --numstat | \
awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "%15s %15s %15s \n", loc, add, subs }'

echo ""
# shellcheck disable=SC2162
read -n 1 -p "请按任意键继续..."

标签:15s,git,log,记录,--,提交,printf,subs
From: https://www.cnblogs.com/stubborn-dude/p/18120489

相关文章

  • LeetCode刷题记录——day10
    1、https://leetcode.cn/problems/rotate-image/description/?envType=study-plan-v2&envId=2024-spring-sprint-100classSolution{public:voidrotate(vector<vector<int>>&matrix){intn=matrix.size();for(inti=0;......
  • 【译】如何在 Visual Studio 中安装 GitHub Copilot
    GitHubCopilot简介GitHubCopilot是一个新工具,可以帮助您在人工智能的帮助下更快,更智能地编写代码。它可以建议代码补全,生成代码片段,甚至为您编写整个函数。GitHubCopilot与各种语言和框架一起工作,它可以从您自己的代码和偏好中学习。下文描述了,如何在VisualStudio中......
  • git上传大文件!git push 报错 ! [remote rejected] main -> main (pre-receive hook de
    前言今天在用gitpush项目的时候,出现了一个报错,记录一下解决方案,以后报同样的错误可以回来看。错误信息下面是gitpush的详细报错信息:20866@DESKTOP-7R0VL04MINGW64/d/AllProjects/JupyterProjects(main)$gitpushoriginmainEnumeratingobjects:152,done.Counting......
  • docker 安装gitlab
    1、查找镜像dockersearchgitlab/gitlab-ce2、下载镜像dockerpullgitlab/gitlab-ce3、创建文件夹mkdir-p/home/lihaiyang/docker/gitlab/etc/home/lihaiyang/docker/gitlab/log/home/lihaiyang/docker/gitlab/opt4、创建文件并写入配置在/home/lihaiyang/docker......
  • 【51单片机入门记录】RTC(实时时钟)-DS1302应用
    目录一、DS1302相关写函数(1)Write_Ds1302(2)Write_Ds1302_Byte二、DS130相关数据操作流程及相关代码(1)DS1302初始化数据操作流程及相关代码(shijian[i]/10<<4)|(shijian[i]%10)的作用:将十进制转换为BCD码。代码呈现(2)DS1302获取数据操作流程及相关代码代码呈现三、应用举例-......
  • Git 使用详解
    前言:Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。但是很多同学仍然不会用,今天我们就来详细讲一下这个Git到底怎么玩。一、安装Git客户端1.这里为大家提供了windows版的Git客户端以及安装图文详解文档。百度网盘:https://pan.baidu.com/s/1CDu0......
  • Unity类银河恶魔城学习记录12-7-1 p129 Craft UI - part 1源代码
    Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考此代码仅为较上一P有所改变的代码【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibiliUI_CraftList.csusingSystem.Collections;usingSystem.Collections.Generic;usin......
  • 关于.gitignore怎么保留子目录的子目录这件事
    起因最近遇到了个需求,就是需要在.gitignore里面保留子目录下的子目录的所有文件过程然而,当你打开网上的教程,会发现所有的教程只会教你子目录,或者是打着指定目录的名堂本质上也只有子目录可行:Git忽略目录,只保留指定目录.gitignore保留忽略目录下的指定文件夹_gitignore只跟踪......
  • 即将截稿 CCF-A多媒体顶会ACM MM‘24 北京时间4月9日提交摘要
    会议之眼快讯第32届ACMMM(ACMMULTIMEDIA)即国际多媒体会议将于2024年10月28-日11月1日在澳大利亚墨尔本隆重举行!MM是由ACM(AssociationforComputingMachinery,计算机协会)主办的国际性学术会议,是计算机科学领域中多媒体研究的首要国际会议,致力于多媒体领域的前沿研究......
  • Kafka原理剖析之「位点提交」
    一、背景Kafka的位点提交一直是Consumer端非常重要的一部分,业务上我们经常遇到的消息丢失、消息重复也与其息息相关。位点提交说简单也简单,说复杂也确实复杂,没有人能用一段简短的话将其说清楚,最近团队生产环境便遇到一个小概率的报错“Offsetcommitfailedwitharetriablee......