我理想情况下,是一个解决方案,可以让我建立一个报告,了解谁曾经触及过哪些文件,以及随着时间的推移发生了什么变化。因此,除其他外,它可以作为报告工作的基础。
但解决方案都需要* nix环境,我们在Windows上运行我们的。
我尝试了以下部分,在导出的文件中部分提供了我要查找的内容。
理想情况下,我希望以下,不一定按顺序,在一行或多行,只要我可以在导出的文件中,我可以将每个输出放在1行,而不是跨越。
File, author, commit, commit message, date.
report.rdl, user, hash, added this file, 2016-10-08
我可以使用它获得部分内容。
git log --date=short --pretty=format:\"%h\";\"%cd\";\"%an\";\"%s\" --no-merges --since=1.weeks
它给出了哈希,日期,用户和提交消息,但我无法看到哪些文件受到影响。
这可以通过使用更详细的提交消息来解决,当然,但是id不必依赖它。
或者,可以做一些不同的事情。
使用LeGEC提供的代码
git log --date=short --name-only --pretty=format:\"%h\";\"%cd\";\"%an\";\"%s\" --since=1.weeks --author=username --no-merges > output.txt
我得到以下格式:
"b60f1f6";"2016-10-12";"username";"Changed package PackageName.dtsx to also handle staging data via merge."
Packages/PackageName.dtsx
"2b1ddde";"2016-10-11";"username";"Hiding the A1 category, adding category A2 and A3."
Reports/CatReport.rdl
如果提交中有多个文件,则会出现此问题。
"b60f1f6";"2016-10-12";"username";"Changed package PackageName.dtsx to also handle staging data via merge."
Packages/PackageName.dtsx
"2b1ddde";"2016-10-11";"username";"Hiding the A1 category, adding category A2 and A3."
Reports/CatReport.rdl
Reports/CatReport1.rdl
所以我意识到,我可能无法做我想做的事情,必须想出一个不同的解决方案来创建工作报告。
理想情况下,它将是以下输出:
"b60f1f6";"2016-10-12";"username";"Changed package PackageName.dtsx to also handle staging data via merge."
Packages/PackageName.dtsx
"2b1ddde";"2016-10-11";"username";"Hiding the A1 category, adding category A2 and A3."
Reports/CatReport.rdl
"2b1ddde";"2016-10-11";"username";"Hiding the A1 category, adding category A2 and A3."
Reports/CatReport1.rdl
即提交中每个文件的一行。
答案 0 :(得分:0)
添加--name-only
选项(同时尝试--name-status
选项):
git log --date=short --name-only --pretty=format:\"%h\";\"%...
git log(git help log
)的手册页说:
说明
显示提交日志。
该命令采用适用于git rev-list命令的选项来控制显示的内容以及如何,和适用于的选项 该 git diff- * commands 控制每个提交引入的更改的显示方式。
如果滚动选项的(多个)页面,可以找到以下部分:
常见的DIFF选项
-p,-u, - 补丁
生成补丁(请参阅生成补丁的部分)。[等等...]
使用(很多)选项可以用来显示每次提交引入的差异信息。