有没有一种方法可以获取git版本控制的文件中每一行的创建日期?

yks3o0rb  于 12个月前  发布在  Git
关注(0)|答案(1)|浏览(96)

假设我在2023-12-09创建并提交了一个CSV:

col1,col2,col3
val1,val2,val3
val4,val5,val6

字符串
已于2023-12-10更新并承诺:

col1,col2,col3
val7,val8,val9
val4,val5,val6


是否有可能获得文件历史记录的每一个唯一行的Map,以及它被引入的日期?预期的结果将是:
| 线|日期|
| --|--|
| val1、val2、val3| 2023-12-09 - 2023 -09|
| val4、val5、val6| 2023-12-09 - 2023 -09|
| val7、val8、val9| 2023-12-10|

yacmzcpb

yacmzcpb1#

从git直?不.(使用pretty),然后你可以将提交列表输入到while read中,然后你可以获取每个版本并对其运行git blame,删除第一行以不显示标题.输出将是一个行流,其中包含每行的插入日期(或修改....但你的场景不包括修改,所以我假设它是完整的行添加/删除),然后你可以排序并运行uniq....这应该或多或少是你所要求的....所以,类似于:

git log --no-merges --pretty=%h the-file | while read commit; do
    git blame $commit -- the-file | tail -n +2 -
done | sort | uniq

字符串

相关问题