无聊的 bash 脚本小练习:查看 git 提交对应的提交数
前提知识
- 查看指定 commit 的提交数
> git rev-list --count release> 81426
- 查看指定提交/分支的逆序提交
> git rev-list --max-count=5 release>7fd6fc2451231c377ff74dc05c943a55fbf9f35f7b4247548aae74b457cad59d52ba1e63d5398ac15987218c18b1d5c671dc7b0200d36fce59b2188c4baa80598d9f2f0ded5e3db46387b8439db18e279329428b5c9385e282e882c14c29065835ed4cf1
Git - git-rev-list Documentation
git rev-list (Plumbing Commands) - Git 中文开发手册 - 开发者手册 - 云+社区 - 腾讯云
使用管道
> git rev-list --max-count=5 release | xargs -n1 git rev-list --count>8142681425814248142281421
但是不能输出成 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 $rrfi
使用:
git rev-list release --max-count=5 | xargs -n1 ./rev-count.sh
rev-count.sh
是脚本文件的名称,就在当前目录(仓库根目录)
结果:
7fd6fc2451231c377ff74dc05c943a55fbf9f35f 814267b4247548aae74b457cad59d52ba1e63d5398ac1 814255987218c18b1d5c671dc7b0200d36fce59b2188c 814244baa80598d9f2f0ded5e3db46387b8439db18e27 814229329428b5c9385e282e882c14c29065835ed4cf1 81421
Shell命令替换:将命令的输出结果赋值给变量
Shell变量:Shell变量的定义、赋值和删除
原文链接: https://blog.jgrass.cc/posts/bash-script-git-commit-count/
本作品采用 「署名 4.0 国际」 许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。