在GIT历史中搜索文件?

10 浏览
0 Comments

在GIT历史中搜索文件?

在我的一个项目中,有一个文件被删除了,没有人知道是什么时候或为什么,它就消失了(可能是几个月前)。问题是我只知道部分文件名,不知道完整的文件名。我应该如何在提交中搜索添加/删除的文件(不是提交消息)来找到它呢?

这个文件的名字应该类似于something_something.*.xml,有什么想法吗?[*可以是一个字符串,或用下划线、破折号或点分隔的多个字符串]

0
0 Comments

问题:如何在GIT历史记录中搜索文件?

原因:在GIT中搜索文件时,可能会遇到一些问题,例如无法匹配到文件、无法搜索到根目录中的文件等。

解决方法:根据经验,可以尝试以下几种解决方法:

1. 使用相对路径而非绝对路径进行搜索。通过在搜索命令中使用相对路径,可以提高文件匹配的准确性。

示例代码:

git log --all --full-history -- **/theFile.*

2. 如果文件可能存在于根目录中,还需要将theFile.*作为单独的路径添加到搜索命令中。在测试中,**/theFile.*无法匹配到根目录中的文件。

示例代码:

git log --all --full-history -- **/theFile.* **/theFile.*

3. 如果使用了**/来匹配根目录,但仍无法搜索到文件,则建议报告一个BUG。当然,如果遇到了这个问题,可以使用'**/*remembered_part*' '*remembered_part*'来绕过该问题。

示例代码:

git log --all --full-history -- '**/*remembered_part*' '*remembered_part*'

4. 在某些版本的GIT中,例如2.39.2,在文件名的模式匹配中,如果不使用双引号可能会导致无法工作。可以尝试在搜索命令中使用双引号来解决该问题。

示例代码:

git log --all --full-history -- "**/theFile.*"

需要注意的是,不同版本的GIT可能会有不同的行为,因此解决方法可能会因版本而异。在某些特定版本的GIT中,可能不需要使用引号来解决问题。

以上是在GIT中搜索文件的一些常见问题和解决方法。根据具体情况,可以尝试使用相对路径、添加额外的路径、报告BUG或使用双引号等方法来解决搜索文件的问题。

0