gpt4 book ai didi

git - 按最后修改日期的顺序列出文件

转载 作者:太空狗 更新时间:2023-10-29 13:53:24 28 4
gpt4 key购买 nike

我的仓库逾期未清理。我认为一个好的起点是按照上次触摸的顺序列出所有文件,并从最旧的文件开始。有办法实现吗?

最佳答案

没有办法(据我所知)使用标准的 git 命令来做到这一点。您需要的是对整个存储库进行某种git blame,确定历史记录中更改每个文件的最后一次提交。当然,您可以使用标准的 git blame,解析 porcelain 输出以识别向文件添加内容的最新提交的时间戳,并根据该时间戳对文件进行排序:

#!/bin/bash

function last-modified()
{
git blame -p "$1" | awk '
BEGIN {
print 0;
}
$1 == "author-time" {
print $2;
}' | sort -n | tail -n 1
}

function list-files()
{
for file in $(git ls-files); do
echo "$(last-modified $file) $file"
done
}

list-files | sort -n

不过,此方法只能注册添加 到文件中的内容,不能注册从文件中删除 的内容。此外,当您的存储库中有以 author-time 开头的行时,它会中断。

关于git - 按最后修改日期的顺序列出文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23350139/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com