当我们使用时
git diff --name-only <first tag>..<second tag>
我们已经获得了已更改文件的列表,但按字母顺序排列。
我想要的是相同的列表,但按提交/merge 历史顺序排列,较旧的在顶部,最新的在底部。
是否有使用 git 命令/选项的 native 方法来执行此操作?
最诚挚的问候,
最佳答案
您可以使用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]++'
关于git - 按提交/merge 日期排序 git diff --name-only list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41739654/