首页 > 解决方案 > 导出特定日期范围内 Azure Repos 中特定文件夹中所有文件的 git 历史记录

问题描述

Salesforce 文件夹结构如下,包含许多类和元 xml:

Project
 --src
   --classes
       -- Class A
       -- Class A-Meta.xml
       -- Class B
       -- Class B-Meta.xml
       -- Class N

问题陈述:对于每个班级,我需要

  1. 日期范围内的历史
  2. 输出应包含在此日期范围内已在此文件中提交的文件名、提交 ID 和作者姓名。
  3. 将此信息导出到 excel/csv/word

样本输出

 Classname  Author commit
 Class A    Dev1   abcd
 Class A    Dev2   pqrs
 Class A    Dev3   uvwz
 Class B    Dev9   yuot
 Class B    Dev1   qwew

我正在使用 VSTS Azure 存储库。打开以使用 git log 或任何其他快速完成此操作的方式。

标签: gitshellazure-devopsazure-repos

解决方案


以下是获取数据的方法...

git log \
  --after=<date> --before=<date> \
  --format='%an %H' \
  --name-only

这将返回如下行:

f76b3d9e85e511879098c899efbcddb5c55e69cd Crow T. Robot
Project/src/classes/ClassA
Project/src/classes/ClassC

1d4ef40149d9c04d7bc6ea7c9bd9424e939af56f Bob A. Fette
Project/src/classes/ClassB

在 Crow T. Robot 的提交 f76b3d9e85e511879098c899efbcddb5c55e69cd 中指出,他们更改了 Project/src/classes/ClassA 和 Project/src/classes/ClassC。

然后,您可以编写一个小程序来获取该数据并根据需要对其进行处理。


推荐阅读