如何对比Git当前标签与上一标签,获取最新标签新增文件列表?
获取Git仓库最新标签的新增文件列表
嘿,我来给你一步步讲清楚怎么搞定这个需求~
步骤1:确定要对比的两个标签
首先你需要找到仓库里最新的标签,以及它的上一个版本标签。可以用这个命令按版本号从高到低列出所有标签:
git tag --sort=-v:refname
输出里最顶部的就是最新标签(比如v1.0.2),第二个就是你要对比的旧标签(比如v1.0.1)。
步骤2:对比标签,筛选新增文件
知道两个标签后,直接用git diff命令加上筛选参数,就能只拿到新增的文件列表:
git diff --name-only --diff-filter=A v1.0.1 v1.0.2
这里的参数解释下:
--name-only:只输出文件名,不显示具体的文件差异内容--diff-filter=A:只保留**新增(Added)**的文件,过滤掉修改、删除的文件
进阶:自动对比最新的两个标签
如果不想手动复制标签名,可以用命令组合自动完成:
git diff --name-only --diff-filter=A $(git tag --sort=-v:refname | sed -n '2p') $(git tag --sort=-v:refname | sed -n '1p')
这个命令会自动提取最新的两个标签,直接输出新增文件列表,非常适合脚本或者快速操作。
⚠️ 注意:如果仓库只有一个标签,那没有更早的版本可以对比,这个方法就不适用啦~
内容的提问来源于stack exchange,提问作者srajappa
相关产品推荐
相关产品推荐

