无聊的 bash 脚本小练习:查看 git 提交对应的提交数
前提知识
- 查看指定 commit 的提交数
> git rev-list --count release
> 81426
- 查看指定提交/分支的逆序提交
> 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
但是不能输出成 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