按提交/合并日期订购 git diff --name-only 列表

问题描述 投票:0回答:1

当我们使用时

git diff --name-only <first tag>..<second tag>

我们已经获得了已更改文件的列表,但按字母顺序排列。

我想要的是相同的列表,但按提交/合并历史记录顺序,旧的在顶部,最新的在底部。

是否有使用 git 命令/选项的本机方法来执行此操作?

git history git-diff
1个回答
3
投票

您可以使用

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]++'
© www.soinside.com 2019 - 2024. All rights reserved.