我从其他开发者那里继承了一个相当大的代码库,代码存储在各种 git 存储库中。
有时候,很难知道某个特定代码片段可能位于哪个项目中,或者这段代码是否存在于 git 中。
我想要做的是在所有项目中搜索特定的文本。
我正在使用 gitosis,因此所有 git 存储库都存储在 /home/git/repositories 中,并且具有如下结构:
/home/git/repositories
|- project1
|- HEAD
|- branches
|- config
|- description
|- hooks
|- info
|- objects
|- refs
|- project2
|- ...
我尝试着使用递归grep查找对象目录中的内容,代码如下:
grep -Hr "text" /home/git/repositories/*/objects
这当然没有按照我的意图工作,因为对象以git的自定义格式存储。
该怎么办?
git log -S"<string>"
。它被称为 pickaxe 搜索。 - Christopher