programing

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

javajsp 2023. 5. 20. 00:13

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

Github 프로젝트의 코드 안에 있는 무언가를 grep할 수 있는 방법이 있습니까?

소스를 뽑아 현지에서 grep할 수 있는데, 웹 인터페이스나 제3자 대안을 통해 가능한지 궁금합니다.

아이디어?

2021년 12월 업데이트: 정확한 문자열 검색, 하위 문자열 일치 및 특수 문자 지원 또는 정규 표현식으로 검색이 다시 개선되었습니다.

정규 표현식

하지만 cs.깃헙.com 에서만, 그리고 여전히 베타 버전입니다(대기자 목록 적용).


2013년 1월 업데이트: elasticsearch.org 을 기반으로 한 새로운 검색이 시작되었습니다!

루비 레포 내에서 stat 검색은 로 표현되며 이제 막 작동합니다TM.
(repo 이름은 대소문자를 구분하지 않습니다.)와 동일하게 반환합니다.

여기에 이미지 설명 입력

다음을 제공:

여기에 이미지 설명 입력

그리고 팔로워나 포크기반으로 한 검색의 다른 예도 많이 있습니다.


2012년 7월 업데이트(과거 Lucene 검색 및 잘못된 코드 인덱싱, 손상된 GUI와 함께 보관):

검색(SolrQuerySyntax 기반)이 이제 더 관대해지고 두려운"Invalid search query. Try quoting it.기본 검색 선택기 "Everything"을 사용하면 사라집니다. :)

(는 우리 모두가 "모든 깃허브 속성에 대한 향상된 검색 경험에 대한 해킹"을 목표로 했던 팀 피스보다 할 수 있다고 생각합니다. 그리고 저는 그 당시에 이 스택 오버플로 질문을 언급했습니다 ;)

여기 루비 코드 안에 있는 grep의 그림이 있습니다: 그것은 저장소와 사용자를 찾을 이지만, 내가 애초에 검색하고 싶었던 것도 찾을 것입니다: 코드!

GitHub 보다 허용 가능한 검색 결과


이전 호에 대한 초기 답변 및 삽화 (2012년 9월 => 2012년 3월)

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

  • 선택하세요.Code,Repositories또는Users 및 롭다운목서드에서.
  • 해당 검색 유형에 대해 나열된 해당 접두사를 사용합니다.

예를 들어 명령을 사용하여 검색을 코드 저장소로 제한합니다.
번째 "니셜이▁"셜▁the이"Advanced Search페이지에는 다음 섹션이 포함됩니다.

코드 검색:

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

  • 언어
  • 리포지토리 이름(사용자 이름 포함)
  • 파일 경로

그래서 만약 당신이 "를 선택한다면,Code검색 선택기를 선택하면 보고서 내 텍스트에 대한 쿼리 그리핑이 작동합니다.

양호한 검색 선택기


GitHub에서 매우 도움이 되지 않는 것은 다음과 같습니다.

  • 이 올바른 선택기를 것을 (여기서 " 바른검선여올색택입를")Code과 같은 오류 메시지가
    "Invalid search query. Try quoting it."

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

  • 오류 메시지는 당신에게 전혀 도움이 되지 않습니다.
    "의 양이 없습니다.quoting it이 오류에서 벗어날 수 있습니다.

  • 오류 메시지가 표시되면 검색 선택기 간의 올바른 연결을 알려주는 섹션이 표시되지 않습니다.Repositories", "Users또는 "Language") 및 (오른쪽) 검색 필터(여기서는 "repo:").
    더 이상 이러한 연결(선택기-필터)을 다시 표시하지 않습니다.위에 표시된 오류 메시지만...
    어레이를 은 " 이러어를유방일법은를 입니다.Advance Search아이콘:

GitHub의 고급 검색 아이콘

  • 인 사람들.Everything기본값인 검색 선택기는 실제로 모든 검색 필터에 대해 잘못된 선택기입니다!"를 제외하고는language:"...
    은 "(으/으/으/으/으/으/으)라고 상상할 수 있습니다Everything 필터" 색필터서실작검제동는하검색로선택선데됩택를도니다는움이하기에"에서 작동하는 하는 데 .repo:하지만 아닙니다.그것은 너무 쉬울 것입니다.

  • " " 를 통 원 선 지 없 습 니 수 다 정 할 를 기 해 택 검 하 는 색 ▁the ▁you ▁ ▁through 를 ▁the ▁"" ▁search ▁want ▁you ▁specify 니 ▁cannot 다 없 습Advance Search필드 혼자!
    (하지만 당신은 할 수 있습니다. "language:""라고 Search Language는 "는"바로에있또는다콤상보다자니입른아래▁▁below" 바로 아래에 있는 또 다른 입니다.Search for'유형' 1...)

잘못된 검색 선택기


따라서 사용자의 경험은 일반적으로 다음과 같습니다.

  • 은 "면하릭클를 클릭합니다.Advanced Search필터 섹션을 훑어보고 사용할 필터를 확인합니다. "repo:"
  • 은 첫 검색을 . "repo:jruby/jruby stat 기본 선택기 " " " " 를 합니다.Everything"
    =>FAIL(그리고 "Selectors-Filters" 연결을 표시하는 배열이 사라집니다.)
  • "Search for" selector thingy, 첫 번째 선택지를 선택합니다.RepositoriesDah!") .리포지토리 내에서 검색하려고 합니다...")
    =>FAIL!
  • 담한상태여서다선낙음선를다니택합기는택서기 ").Users, 한 만 더 ..."), 선를보기지않고도택, 더시보만하됩면니다기해.
    =>FAIL!
  • "빌어먹을, 깃허브 검색이 깨졌어요!난 여기서 나가요!"
    ...
    GitHub 고급 검색은 실제로 중단되지 않았습니다.해당 GUI만...

따라서 요약하자면, OP Ben Humphreys로서 "Github 프로젝트의 코드 내에서 무언가를 grep"하고 싶다면 다음을 선택하는 것을 잊지 마십시오.Code검색 선택기...

변수 " " " " " " " " " " " " " 를 합니다./search?q=search_terms의 루트에서 예를 repo 루트다음같과은것있이습다니는에의▁at있다습니▁for것.

https://github.com/bmewburn/vscode-intelephense/search?q=phpstorm

여기에 이미지 설명 입력

위의 예에서는 코드에서 2개의 결과를 반환하고 문제에서 160개의 결과를 반환합니다.

의 최근.private리포지토리에는 해당 리포지토리를 통해 검색하기 위한 검색 필드가 있습니다.

여기에 이미지 설명 입력

당황스럽게도, 이 기능을 사용할 수 없는 것처럼 보입니다.public하지만 저장소.

갱신하다

아래 북마크릿 해킹은 XHR 이슈 및 API 변경으로 인해 고장이 났습니다.

고맙게도 Github은 이제 그 일을 훌륭하게 수행하는 "전혀 새로운 코드 검색"을 가지고 있습니다.


이 부두를 확인해 보세요.Github 코드 검색 사용자 스크립트.

지시사항을 따르거나 스크립트와 확장자로 브라우저를 부풀리는 것을 싫어하면 사용자 스크립트의 책갈피화된 번들을 사용합니다.

javascript:(function(){var s='https://raw.githubusercontent.com/skratchdot/github-enhancement-suite/master/build/github-enhancement-suite.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('');

위의 소스를 새 책갈피의 URL로 저장합니다.Github repo를 찾아 북마크를 클릭하고 bam: in-page, Ajax화된 코드 검색을 수행합니다.

보고서를 검색하려면 먼저 CAVEAT Github이 색인을 작성해야 합니다.

북마크렛 전

아브라카다브라카다브라...

이후 - 맨 왼쪽 탭 다음에 있는 두 번째 메뉴 모음을 확인합니다.

다음은 주석이 달린 ECMA스크립트 5.1 사양 저장소의 샘플 검색입니다.

주석이 달린 ECMA스크립트 5.1 규격 저장소에서 샘플 검색

@VonC의 답변은 일부 리포지토리에서는 작동하지만, 안타깝게도 많은 리포지토리에서는 지금 당장은 작동할 수 없습니다.Github은 단순히 색인화하지 않습니다(원래 @emdudley가 언급했듯이).그들은 웹사이트 어디에도 이를 언급하지 않았지만, 지원을 요청하면 다음과 같이 알려줄 것입니다.

사람: Tim Pease 파일:
새로 푸시된 코드를 코드 검색 색인에 추가하는 것을 중단했습니다.코드의 양이 현재 검색 색인을 초과하여 확장 가능한 검색 아키텍처로 전환하기 위해 노력하고 있습니다.번거롭게 해드려서 죄송합니다.이 새로운 검색 인덱스가 언제 실행될 것인지에 대한 추정치는 없지만, 준비가 되면 블로그 게시물이 게시될 것입니다(https://github.com/blog) .

결과가 부족한 것 외에는 인덱싱되지 않은 리포지토리를 구분할 수 있는 방법이 없습니다(잘못된 쿼리로 인한 결과일 수도 있음).

또한 이 문제를 추적할 수 있는 방법은 그들이 블로그를 하기를 기다리는 것 외에는 없습니다(또는 여기 SO에서 보기).

사람: Tim Pease 파일:
문제 추적기는 내부적인 것이지만, 새 검색 색인이 실행되는 대로 알려드릴 수 있습니다.

github1s @ https://github.com/conwnet/github1s 라는 정말 멋진 프로젝트가 있습니다.

합니다.https://github.com/microsoft/vscodehttps://github1s.com/microsoft/vscode그런 다음 편집기에 내장된 검색 기능을 사용하여 리포지토리의 모든 항목을 검색할 수 있습니다.

https://github.com/search 으로 이동하고 "dll repo:user_name/repo_name"을 입력합니다.

예들어, 검려면을 cnn_learner에 시대에fastai 용의포레fastai입력할 내용으로 입력:

cnn_learner repo:fastai/fastai

바로 그겁니다.단 한 가지 귀찮은 것은 클릭이 추가로 필요하다는 것입니다.다음과 같은 정보를 제공합니다.

'cnn_learner repo:fastai/fastai'와 일치하는 리포지토리를 찾을 수 없습니다.

기본적으로 해당 검색 문자열과 일치하는 리포지토리를 검색하기 때문입니다.

그래서 "코드"의 왼쪽을 클릭하기만 하면 원하는 것이 표시됩니다.

또는 다음과 같은 URL로 직접 코드 검색 결과를 가져옵니다.

https://github.com/search?q=cnn_learner+repo%3Afastai%2Ffastai&type=code

검색어를 합니다.in:file검색 상자에 있습니다.

검색은 검색할 위치를 묻는 드롭다운을 만듭니다.

여기에 이미지 설명 입력

GitHub에서 검색하거나 확장자를 설치하려면 SourceGraph.com 을 사용하기만 하면 됩니다.

무료 소스그래프 Chrome Extension으로 Github 저장소 내부의 소스 코드를 검색합니다.

소스포지의 크롬 확장 문서를 대충 훑어보고 깃허브의 코드베이스 검색 문서 중 일부를 읽으며 깃허브의 검색 엔진 자체로 디렉터리 이름을 검색하는 데 필요한 것을 살펴봤습니다.

그 레포의 홈페이지를 방문한 다음 왼쪽 상단의 검색 상자에 당신의 검색어를 입력하세요.

첫 번째 제안된 결과에 "이 리포지토리" 태그가 지정됩니다.클릭하거나 Enter 키를 누릅니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

Google은 프로젝트에서 검색할 수 있지만 코드는 검색할 수 없습니다.

사이트:https://github.com/CreateJS/EaselJS 테스트

GitHub 설명서에는 다음과 같이 나와 있습니다.

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

octocat in:path파일 > 경로에 "octocat"이 나타나는 코드와 일치합니다.

octocat in:file,path> 파일 내용 또는 파일 경로에 "octocat"이 나타나는 코드와 일치합니다.

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