获取最新提交,以接触git存储库中的每个文件
我想找到涉及一组分支上曾经存在的每个文件的最后一次提交。也就是说,对于曾经存在于一个或多个指定分支上的每个文件,给我最后一次涉及它的提交 该提交可以添加文件、修改文件、删除文件等。我需要提交哈希,但最好使用相同的命令从提交(A、M、D等)、到达它的分支集和提交日期生成文件状态,这样我就不必运行更多命令来生成它。我怀疑我能一次获得所有这些,但这是我所需要的最终信息集 我知道如何获取存储库中的文件列表,但不知道如何将其简化为一组分支上存在的文件集。即使我生成了一个文件列表,但生成该列表然后返回并为每个文件创建git日志似乎效率低下。是否有一种方法可以一次性完成,并且至少为每个这样的文件获取最新的提交哈希 我尝试过这个基本算法:获取最新提交,以接触git存储库中的每个文件,git,Git,我想找到涉及一组分支上曾经存在的每个文件的最后一次提交。也就是说,对于曾经存在于一个或多个指定分支上的每个文件,给我最后一次涉及它的提交 该提交可以添加文件、修改文件、删除文件等。我需要提交哈希,但最好使用相同的命令从提交(A、M、D等)、到达它的分支集和提交日期生成文件状态,这样我就不必运行更多命令来生成它。我怀疑我能一次获得所有这些,但这是我所需要的最终信息集 我知道如何获取存储库中的文件列表,但不知道如何将其简化为一组分支上存在的文件集。即使我生成了一个文件列表,但生成该列表然后返回并为每
希望这能有所帮助。这是一大堆要求……在考虑效率之前,我会先尝试获得想要的输出 以下是一些指针,可以组合起来创建脚本:
git ls tree
或git log
)git日志
)的最新提交git分支
)希望这有助于实现您的目标。这基本上是我已经做过的,但速度非常缓慢。git日志位目前占主导地位。因此,效率问题。啊,我明白了,也许在你的Q中提到你已经尝试过了(因此非常希望人们在提问之前证明他们已经尝试过了),然后重新制定你的Q,专门询问效率是否也只在1个分支上慢?如果没有,那么您可以对1个分支使用这些步骤,并为您想要的分支整体运行并行作业?我已经编辑了这个问题,以表明您尝试了一个基本算法。谢谢你的指点!只有一个分支的速度也很慢。如果我不使用--filename,它几乎是即时的,但这当然不是我想要的。