📜  每个用户的 git 代码行 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:53.551000             🧑  作者: Mango

每个用户的 git 代码行 - Shell-Bash

在一个项目中,多个程序员协同开发时,每个程序员负责的部分代码行数不同,而且每个程序员代码行数的变化对项目进度有很大影响。因此,我们可以使用 Shell-Bash 脚本来统计每个程序员在 Git 代码库中提交的代码行数。

前置条件

为了准确统计每个程序员的代码行数,需要先安装 Git,并且注册账号,克隆需要统计的 Git 代码库。

脚本实现

我们可以使用以下脚本来统计每个程序员的代码行数。

#!/bin/bash

git log --shortstat --author="$1" | grep "files\? changed" | awk '{files+=$1; inserted+=$4; deleted+=$6} END {print "files changed: ", files, "\nlines inserted: ", inserted, "\nlines deleted: ", deleted}'

该脚本接收一个参数,该参数为程序员的 Git 账号名,例如:

./git_lines.sh coder01

脚本实现的过程如下:

  • 使用 git log --shortstat --author="$1" 命令获取该程序员提交的 Git 记录,包括文件变化、插入的行数和删除的行数。
  • 使用 grep "files\? changed" 命令获取该程序员提交的 Git 记录中包含 “files changed” 或 “file changed” 的记录。
  • 使用 awk 命令计算该程序员提交的 Git 记录中,文件变化、插入的行数和删除的行数,并输出结果。

脚本的返回结果如下:

files changed: 10
lines inserted: 334
lines deleted: 194
总结

使用 Shell-Bash 脚本可以很方便地统计每个程序员的 Git 代码行数,这对于项目管理和进度把控有很大的帮助。除此之外,我们还可以通过统计代码行数来评估每个程序员的工作量和效率,为项目开发的优化提供数据支持。