Programing

Github 프로젝트 내부의 검색 코드

lottogame 2020. 4. 5. 19:53
반응형

Github 프로젝트 내부의 검색 코드


Github 프로젝트의 코드 내부에서 무언가를 grep하는 방법이 있습니까?

소스를 가져와 로컬에서 grep 할 수는 있지만 웹 인터페이스 또는 타사 대안을 통해 가능한지 궁금합니다.

아이디어?


2013 년 1 월 업데이트 : 새로운 검색이 도착했습니다! elasticsearch.org를 기반으로 :

루비 저장소 내에서 통계 검색은로 표현되며 stat repo:ruby/ruby이제 TM 만 작동 합니다.
(레포 이름은 대소 문자를 구분하지 않습니다 : test repo:wordpress/wordpress와 동일을 리턴합니다 test repo:Wordpress/Wordpress)

여기에 이미지 설명을 입력하십시오

줄게:

여기에 이미지 설명을 입력하십시오

추종자 또는 포크를 기반 으로 한 다른 많은 검색 예제가 있습니다 .


2012 년 7 월 업데이트 (구식 GUI와 결합 된 Lucene 검색 및 잘못된 코드 색인 작성은 아카이브를 위해 여기에 보관 됨) :

SolrQuerySyntax를 기반으로 한 검색 이 더 허용되고 기본 검색 선택기 인 "Everything"을 Invalid search query. Try quoting it.사용할 때 " "가 사라 집니다.)

(나는 가정 우리가 할 수있는 것보다 모든 팀 피스 그의 목표 중 하나에 있었다, "모든 GitHub의 속성에 대한 향상된 검색 경험을 해킹 ", 그리고 나는이 스택 오버플로 문제를 언급 한 시))

다음은 루비 코드 내의 grep에 대한 그림입니다. 리포지토리와 사용자를 찾을뿐만 아니라 처음부터 검색하고자하는 것 : 코드!

GitHub 더 허용적인 검색 결과


이전 호의 초기 답변 및 예시 (2012 년 9 월 => 2012 년 3 월)

고급 검색 GitHub 양식을 사용할 수 있습니다 .

  • 선택 Code, Repositories또는 Users드롭 다운에서와
  • 해당 검색 유형에 해당하는 접두사를 사용하십시오 .

예를 들어, repo:username/repo-name지시문을 사용하여 검색을 코드 저장소 로 제한하십시오 .
초기 " Advanced Search"페이지에는 다음 섹션이 포함됩니다.

코드 검색 :

코드 검색은 GitHub에 공개적으로 호스팅 된 모든 코드를 살펴 봅니다. 다음을 기준으로 필터링 할 수도 있습니다.

  • 언어 language:
  • 저장소 이름 (사용자 이름 포함) repo:
  • 파일 경로 path:

" Code"검색 선택기 를 선택하면 리포지토리 내의 텍스트에 대한 쿼리 grepping이 작동합니다.

좋은 검색 선택기


무엇 매우 도움이되지 GitHub의에서 것은 즉 :

  • 올바른 검색 선택기를 놓는 것을 잊어 버린 경우 (여기서 " Code") 오류 메시지가 나타납니다 :
    " Invalid search query. Try quoting it."

코드 파일러에 대한 잘못된 선택기

  • 오류 메시지는 전혀 도움이되지 않습니다.
    " quoting it"가 없으면이 오류에서 벗어날 수 있습니다.

  • once you get that error message, you don't get the sections reminding you of the right association between the search selectors ("Repositories", "Users" or "Language") and the (right) search filters (here "repo:").
    Any further attempt you do won't display those associations (selectors-filters) back. Only the error message you see above...
    The only way to get back those arrays is by clicking the "Advance Search" icon:

GitHub의 고급 검색 아이콘

  • the "Everything" search selector, which is the default, is actually the wrong one for all of the search filters! Except "language:"...
    (You could imagine/assume that "Everything" would help you to pick whatever search selector actually works with the search filter "repo:", but nope. That would be too easy)

  • you cannot specify the search selector you want through the "Advance Search" field alone!
    (but you can for "language:", even though "Search Language" is another combo box just below the "Search for" 'type' one...)

잘못된 검색 선택기


So, the user's experience usually is as follows:

  • you click "Advanced Search", glance over those sections of filters, and notice one you want to use: "repo:"
  • you make a first advanced search "repo:jruby/jruby stat", but with the default Search selector "Everything"
    => FAIL! (and the arrays displaying the association "Selectors-Filters" is gone)
  • you notice that "Search for" selector thingy, select the first choice "Repositories" ("Dah! I want to search within repositories...")
    => FAIL!
  • dejected, you select the next choice of selectors (here, "Users"), without even looking at said selector, just to give it one more try...
    => FAIL!
  • "Screw this, GitHub search is broken! I'm outta here!"
    ...
    (GitHub advanced search is actually not broken. Only their GUI is...)

So, to recap, if you want to "grep for something inside a Github project's code", as the OP Ben Humphreys, don't forget to select the "Code" search selector...


Recent private repositories have a search field for searching through that repo.

여기에 이미지 설명을 입력하십시오

Bafflingly, it looks like this functionality is not available to public repositories, though.


UPDATE

The bookmarklet hack below is broken due to XHR issues and API changes.

Thankfully Github now has "A Whole New Code Search" which does the job superbly.


Checkout this voodoo: Github code search userscript.

Follow the directions there, or if you hate bloating your browser with scripts and extensions, use my bookmarkified bundle of the userscript:

javascript:(function(){var s='https://github.com/skratchdot/github-code-search.user.js/raw/master/github-code-search.user.js',t='text/javascript',d=document,n=navigator,e;(e=d.createElement('script')).src=s;e.type=t;d.getElementsByTagName('head')[0].appendChild(e)})();doIt('');void('');

Save the source above as the URL of a new bookmark. Browse to any Github repo, click the bookmark, and bam: in-page, ajaxified code search.

CAVEAT Github must index a repo before you can search it.

북마크릿 앞

Abracadabra...

After - Look in the second menubar after the leftmost tabs: Files, Commits, Branches...

Here's a sample search from the annotated ECMAScript 5.1 specification repository:

Sample search in the annotated ECMAScript 5.1 specification repository


While @VonC's answer works for some repositories, unfortunately for many repositories you can't right now. Github is simply not indexing them (as commented originally by @emddudley). They haven't stated this anywhere on their website, but they will tell you if you ask support:

From: Tim Pease
We have stopped adding newly pushed code into our codesearch index. The volume of code has outgrown our current search index, and we are working on moving to a more scalable search architecture. I'm sorry for the annoyance. We do not have an estimate for when this new search index will be up and running, but when it is ready a blog post will be published (https://github.com/blog).

Annoyingly there is no way to tell which repositories are not indexed other than the lack of results (which also could be from a bad query).

There also is no way to track this issue other than waiting for them to blog it (or watching here on SO).

From: Tim Pease
I am afraid our issue tracker is internal, but we can notify you as soon as the new search index is up and running.


Google allows you to search in the project, but not the code :(

site:https://github.com/CreateJS/EaselJS test


I search the source code inside of Github Repositories with the free Sourcegraph Chrome Extension ... But I Downloaded Chrome First, I knew other browsers support it though, such as - and maybe just only - Firefox.

난을 통해 미끄러 져 소스 포지의 크롬 확장 문서 그리고 또한 나는 몇 가지 읽어 내가 Github에서의 검색 엔진 자체 디렉토리 이름을 검색에 필요한 단지 무엇을 바라 보았다 Github에서의 코드베이스 검색 문서를


GitHub 문서에 따르면-

octocat in:file 파일 내용에 "octocat"이 나타나는 코드와 일치합니다.

참고 URL : https://stackoverflow.com/questions/3616221/search-code-inside-a-github-project

반응형