当我们使用时
git diff --name-only <first tag>..<second tag>
我们已经获得了已更改文件的列表,但按字母顺序排列。
我想要的是相同的列表,但按提交/合并历史记录顺序,旧的在顶部,最新的在底部。
是否有使用 git 命令/选项的本机方法来执行此操作?
您可以使用
git log
的 format
选项不打印任何有关提交的信息,只打印文件名:
git log --format="" --name-only <first tag>..<second tag>
如评论中所述,
git log
有一个--reverse
选项来列出从最旧到最新的提交:
git log --reverse --format="" --name-only <first tag>..<second tag>
您还可以使用
awk
对重复项进行排序,以便仅打印最新出现的内容(如果使用 --reverse
则打印最早出现的内容)
git log --format="" --name-only <first tag>..<second tag> | awk '!x[$0]++'