Git 怎么查找一段代码在项目中其他的位置?

wowbeing · 2011年12月03日 · 最后由 liujinxia 回复于 2016年10月08日 · 6573 次阅读

比如我在这个页面:

https://github.com/huacnlee/ruby-china/blob/master/app/views/users/_info.html.erb

看到这样的代码 “user_avatar_tag”

请问怎么查找在ruby-china这个项目中查找其他地方出现的 “user_avatar_tag” 呢?

共收到 31 条回复

TextMate 里面可以 Find in project 哈哈哈

Rubymine里面也可以搜索得到

推荐用ack

搜出一堆日志中的记录很不爽的

git grep 忽略不在版本控制中的文件 (如log) 和 .git 目录中的文件 ackmate 可以用 ackrc 限制搜索的文件类型

单纯用 grep 就行了,vim 命令模式可以直接调用 grep

推荐使用 ack http://betterthangrep.com/, 对于此类问题用起来比 grep 方便多了,另外,vim 也有调用 ack 的插件 https://github.com/mileszs/ack.vim

ack or grep 个人使用ack,而且喜欢的不行....

BTW: #2楼 @huacnlee 你居然还没被 Textmate Find in project 搞疯? 快用这个plugin吧 :D https://github.com/protocool/ack-tmbundle

我的经历 grep => rak => grep => ack => ack => ack => ack => ack

~ $ which ggit
ggit () {
    grep $1 -rn . | grep -v git | less
}

#9楼 @lgn21st 你让我想起了 还有rak.... 记得咱们还用了不少日子呢...直到升级1.9.2对rak支持不好...

#1楼 @night_song git grep keyword | ack keyword 这样就可以支持多条件过滤和高亮特定关键词了,哈哈

哇 回复了这么多有营养的内容 谢谢各位前辈~

我一般这样:

find app -name '*.*' | xargs grep 'user_avatar_tag'

ack +1

使用第六感。。。

#16楼 @bony 这得要人机合一的境界吧。

#16楼 @bony 哈哈,我觉得吧,用第六感就能定位代码的,那是圣斗士 :-)

ack 也有点问题的, 它默认不搜索 Gemfile 和 Gemfile.lock, 各种 sass, coffee 也不在搜索列表中, 在 ~/.ackrc 里加上 --text 就可以了.

ack2 以后就默认带 --text 了.

rubymine find in path

木有人用gedit吗,装了gmate 感觉也 满爽快的哦

@fresh_fish 我在用sublime text 2 之前,一直用gmate。。

@bony 看起来满不错哦,Ubuntu 下好用么?

@fresh_fish 中文支持不好。。和textmate一样,通病,Linux下中文没法输入。

@bony 装上玩了一下,界面不错,但是无法显示和输入中文, 为了中文继续gedit

#26楼 @bony 我也用st2,可惜了无法输入中文,网上说是字体的原因,改了还是没用

@t_zires 字体只能让你不乱码。中文输入是输入法支持的问题。

rubymine ctrl+shift+f 😊 😊 😊

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册