Loading

bash 脚本小练习:查看 git 提交对应的提交数

无聊的 bash 脚本小练习:查看 git 提交对应的提交数

前提知识

  1. 查看指定 commit 的提交数
> git rev-list --count release
> 81426
  1. 查看指定提交/分支的逆序提交
> git rev-list --max-count=5 release
> 
7fd6fc2451231c377ff74dc05c943a55fbf9f35f
7b4247548aae74b457cad59d52ba1e63d5398ac1
5987218c18b1d5c671dc7b0200d36fce59b2188c
4baa80598d9f2f0ded5e3db46387b8439db18e27
9329428b5c9385e282e882c14c29065835ed4cf1

Git - git-rev-list Documentation
git rev-list (Plumbing Commands) - Git 中文开发手册 - 开发者手册 - 云+社区 - 腾讯云

使用管道

> git rev-list --max-count=5 release | xargs -n1 git rev-list --count
> 
81426 
81425 
81424 
81422 
81421 

xargs 命令教程 - 阮一峰的网络日志

但是不能输出成 commitId - count 的表格形式。

可能,是我不知道怎么实现,或许组合使用 awk grep 等命令可以实现。

编写 bash 脚本

#!/bin/bash

# 直接输出
rr=`git rev-list --count $1`
echo $1 $rr

#!/bin/bash

# 只关心特定提交
rr=`git rev-list --count $1`
if [ $rr == 80000 ]
then
    echo $1 $rr
fi

使用:

git rev-list release --max-count=5 | xargs -n1 ./rev-count.sh

rev-count.sh 是脚本文件的名称,就在当前目录(仓库根目录)

结果:

7fd6fc2451231c377ff74dc05c943a55fbf9f35f 81426
7b4247548aae74b457cad59d52ba1e63d5398ac1 81425
5987218c18b1d5c671dc7b0200d36fce59b2188c 81424
4baa80598d9f2f0ded5e3db46387b8439db18e27 81422
9329428b5c9385e282e882c14c29065835ed4cf1 81421

Shell命令替换:将命令的输出结果赋值给变量
Shell变量:Shell变量的定义、赋值和删除

Linux就该这么学 高清晰PDF_Linux下载_Linux公社-Linux系统门户网站

posted @ 2021-02-05 20:35  J.晒太阳的猫  阅读(159)  评论(0编辑  收藏  举报