git日志-在一行中显示文件名和最近的哈希值
我想在一行中显示git存储库中的文件名和最近的提交哈希,并用相等的字符分隔。如果某些文件属于同一提交,则应在单独的行中列出它们 例如:git日志-在一行中显示文件名和最近的哈希值,git,logging,Git,Logging,我想在一行中显示git存储库中的文件名和最近的提交哈希,并用相等的字符分隔。如果某些文件属于同一提交,则应在单独的行中列出它们 例如: file1.txt=0c6347311613be2ec6fb61c43f36e87a6f3f998a file2.txt=0b4180564ddc676a3a2bb4d2c4111fb08adc9d09 file3.txt=0b4180564ddc676a3a2bb4d2c4111fb08adc9d09 file4.txt=0b4180564ddc676a3a2
file1.txt=0c6347311613be2ec6fb61c43f36e87a6f3f998a
file2.txt=0b4180564ddc676a3a2bb4d2c4111fb08adc9d09
file3.txt=0b4180564ddc676a3a2bb4d2c4111fb08adc9d09
file4.txt=0b4180564ddc676a3a2bb4d2c4111fb08adc9d09
and so on
如何使用“git日志”实现这一点?(在“pretty”格式中没有文件名的格式说明符)
我是在windows上运行的,所以我不确定是否可以使用其他工具,如AWK和类似的工具。这不可能一次完成。。。。但它可以通过bash 1-liner完成:
git ls-tree -r --name-only HEAD | while read file; do echo $file"="$( git log --pretty=%H -n 1 -- $file); done
它应该在windows上运行!我不确定目标机器上是否有“bash”(在我的开发机器上,我有“bash”,并且输出正是我所需要的)。但我不能确定目标机器是否有可用的“bash”。嗯。。。如果它有适用于windows的git,那么它就有bash。。。。但无论如何都不能创造奇迹。