![列出标记版本之间添加和删除的文件](https://linux22.com/image/78788/%E5%88%97%E5%87%BA%E6%A0%87%E8%AE%B0%E7%89%88%E6%9C%AC%E4%B9%8B%E9%97%B4%E6%B7%BB%E5%8A%A0%E5%92%8C%E5%88%A0%E9%99%A4%E7%9A%84%E6%96%87%E4%BB%B6.png)
给定 Git 存储库中的两个标记版本,是否可以列出添加或删除的文件?
例如,假设标记的版本 1.0 有许多头文件和实现文件。进一步假设foo.h
被删除并被bar.h
添加;然后该集合随后被标记为 2.0。如何让 Git 告诉我foo.h
已从 1.0 删除并bar.h
添加到 2.0?
编辑:我只需要检查连续的标签之间。即我只需要检查1.0/2.0之间; 2.0/3.0;等等。我不需要跨越多个标签。
我想要执行检查的原因是我们注意到发行版并不总是为其 [DEB|RPM] 构建系统拾取新文件。所以我想给发行版一个关于新文件的“提醒”。
我们没有文件列表目前因为我找不到关于它的规范参考。引用的问题涉及文件列表的约定;但它已被社区关闭并删除。
答案1
git diff-tree -r --summary 1.0 2.0
应该这样做。
您也可以只比较树列表:
diff <(git ls-tree -r --name-only 1.0) <(git ls-tree -r --name-only 2.0)