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系统门户网站

作者:JasonGrass

出处:https://www.cnblogs.com/jasongrass/p/14379644.html

版权:本作品采用「署名 4.0 国际」许可协议进行许可。

posted @   J.晒太阳的猫  阅读(167)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示