gpt4 book ai didi

windows - 如何获取 git 存储库中每个修订版的文件 list ?

转载 作者:可可西里 更新时间:2023-11-01 14:19:30 24 4
gpt4 key购买 nike

我有一个在 Microsoft Windows 上创建的 git 存储库。 Microsoft Windows 有一个不区分大小写的文件系统。检查这个存储库的人没有注意他们文件名的大小写。这意味着同一目录或文件有时会以两个不同的名称出现。

我的意思是解决这个问题。但为了真正解决它,我必须掌握它。

有没有一种快速简单的方法来获取每个修订版的文件列表?

我需要这个来找出哪些修订版(如果有的话)在两个不同的名称下有相同的文件,这样我就可以决定解决这种情况的策略。这意味着我需要尽快获取大量信息,以便分析花费合理的时间。

最佳答案

一种方法是使用 ls-tree:

git ls-tree -r --name-only <commit>

(请注意,这会查看与当前目录对应的树部分,因此您应该从存储库的顶层运行它,或者提供 --full-tree 选项.)

这基本上是瞬时的,因为 Git 所要做的就是递归地检查树;它甚至不必查看文件的内容。

我不确定您将如何使用文件名列表来检测两个不同名称下的同一文件。如果您只是想查找在不区分大小写的文件系统上相同的文件名,那么文件名列表就是您所需要的。

但是,如果您认为这些文件实际上可能具有相同的内容,您可以删除 --name-only,这样您还可以看到所有文件的 SHA1,并且可以通过查找重复的哈希值找到相同的文件。

关于windows - 如何获取 git 存储库中每个修订版的文件 list ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9026186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com