所以我从其他一些开发人员继承了一个相当大的代码库,代码存储在各种git存储库中。在多个git存储库中的grep
有时,很难知道某个特定代码可能位于哪个项目中,或者该代码是否存在于git中。
我想要做的就是grep所有项目的某些特定的文本。
我使用的gitosis,所以所有的Git仓库储存在/ home/git的/仓库用如下的结构:
/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“”'。它被称为[镐搜索](http://gitfu.wordpress.com/2008/06/03/the-pickaxe-finding-changes-was-never-easier/) –
Christopher
2012-07-18 14:32:51
问题是/ home中的文件夹/ git/repositories实际上并不是git工作树,所以git grep不适用于它们。 – jdeuce 2012-07-18 14:35:56
@python_noob如果你指定一个ref(例如HEAD) – 2012-07-18 14:42:01