Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git日志-在一行中显示文件名和最近的哈希值_Git_Logging - Fatal编程技术网

git日志-在一行中显示文件名和最近的哈希值

git日志-在一行中显示文件名和最近的哈希值,git,logging,Git,Logging,我想在一行中显示git存储库中的文件名和最近的提交哈希,并用相等的字符分隔。如果某些文件属于同一提交,则应在单独的行中列出它们 例如: file1.txt=0c6347311613be2ec6fb61c43f36e87a6f3f998a file2.txt=0b4180564ddc676a3a2bb4d2c4111fb08adc9d09 file3.txt=0b4180564ddc676a3a2bb4d2c4111fb08adc9d09 file4.txt=0b4180564ddc676a3a2

我想在一行中显示git存储库中的文件名和最近的提交哈希,并用相等的字符分隔。如果某些文件属于同一提交,则应在单独的行中列出它们

例如:

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。。。。但无论如何都不能创造奇迹。