Skip to main content

코드 (레거시) 검색

코드 검색 API를 사용하는 경우에만 레거시 코드 검색 구문을 사용할 필요가 있습니다.

참고: 이 문서에서는 REST API 엔드포인트에서 코드 검색하는 데에만 필요한 레거시 코드 검색 구문을 다룹니다.

GitHub에서 사용할 수 있는 코드 검색 구문에 대한 자세한 내용은 "GitHub 코드 검색 구문 이해" 항목을 참조하세요.

모든 GitHub에서 전역적으로 검색하거나 검색 범위를 특정 리포지토리 또는 조직으로 지정할 수 있습니다. 자세한 내용은 “GitHub 검색 정보” 항목을 참조하세요.

해당 코드 검색 한정자를 사용하여 코드만 검색할 수 있습니다. 리포지토리, 사용자 또는 커밋에 대한 검색 한정자는 코드를 검색할 때 작동하지 않습니다.

팁:

  • 결과를 더 개선하기 위해 검색 한정자에 추가할 수 있는 검색 구문 목록은 “검색 구문 이해”을(를) 참조하세요.
  • 여러 단어로 된 검색어를 따옴표로 묶으세요. 예를 들어 “진행 중”이라는 레이블이 있는 문제를 검색하려면 label:"in progress"를 검색합니다. 검색은 대/소문자를 구분하지 않습니다.

코드 검색의 복잡성으로 인해 검색 수행 방법에 대한 몇 가지 제한 사항이 있습니다.

  • 모든 퍼블릭 리포지토리에서 코드를 검색하려면 GitHub에서 개인 계정에 로그인해야 합니다.
  • 포크의 코드는 포크에 부모 리포지토리보다 별표 표시가 더 많고 포크된 리포지토리에 생성된 후 하나 이상의 푸시된 커밋이 있는 경우에만 검색할 수 있습니다. 부모 리포지토리보다 별표 표시 수가 적거나 커밋이 없는 포크는 코드 검색을 위해 인덱싱되지 않습니다. 부모보다 별표 표시가 많고 푸시된 커밋이 하나 이상 있는 포크를 검색 결과에 포함하려면 fork:true 또는 fork:only를 쿼리에 추가해야 합니다. 자세한 내용은 "포크에서 검색"을(를) 참조하세요.
  • 코드 검색의 경우 기본 분기만 인덱싱됩니다.__
  • 384KB 미만인 파일만 검색할 수 있습니다.
  • 최대 4,000개의 프라이빗 리포지토리를 검색할 수 있습니다. 이러한 4,000개 리포지토리는 사용자가 액세스할 수 있는 처음 10,000개 프라이빗 리포지토리 중 가장 최근에 업데이트된 리포지토리가 됩니다.
  • 파일이 500,000개 미만인 리포지토리만 검색할 수 있습니다.
  • 활동이 있거나 작년에 검색 결과에 반환된 리포지토리만 검색할 수 있습니다.
  • filename 검색을 제외하고, 소스 코드를 검색할 때에는 항상 검색어를 하나 이상 포함해야 합니다. 예를 들어 language:javascript는 유효하지 않지만 amazing language:javascript는 유효합니다.
  • 검색 결과에는 동일한 파일의 두 조각이 표시될 수 있지만 파일 내에 더 많은 결과가 있을 수 있습니다.
  • 다음 와일드카드 문자를 검색 쿼리의 일부로 사용할 수 없습니다. . , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ] @. 검색 시 해당 기호는 무시됩니다.

파일 콘텐츠 또는 파일 경로로 검색

in 한정자를 사용하면 소스 코드 파일 콘텐츠, 파일 경로 또는 둘 다로 검색을 제한할 수 있습니다. 이 한정자를 생략하면 파일 콘텐츠만 검색됩니다.

한정자예시
in:fileoctocat in:file은 파일 콘텐츠에 “octocat”이 있는 코드를 찾습니다.
in:pathoctocat in:path는 파일 경로에 “octocat”이 있는 코드를 찾습니다.
in:file,pathoctocat in:file,path는 파일 콘텐츠 또는 파일 경로에 “octocat”이 있는 코드를 찾습니다.

사용자 또는 조직의 리포지토리 내에서 검색

특정 사용자 또는 조직이 소유한 모든 리포지토리에서 코드를 검색하려면 user 또는 org 한정자를 사용하면 됩니다. 특정 리포지토리에서 코드를 검색하려면 repo 한정자를 사용하면 됩니다.

한정자예시
user:USERNAMEuser:defunkt extension:rb.rb로 끝나는 @defunkt에서 코드를 찾습니다.
org:ORGNAMEorg:github extension:js.js로 끝나는 GitHub에서 코드를 찾습니다.
repo:USERNAME/REPOSITORYrepo:mozilla/shumway extension:as.as로 끝나는 @mozilla의 shumway 프로젝트에서 코드를 찾습니다.

파일 위치로 검색

path 한정자를 사용하여 리포지토리의 특정 위치에 있는 소스 코드를 검색할 수 있습니다. path:/를 사용하여 리포지토리의 루트 수준에 있는 파일을 검색합니다. 또는 디렉터리 이름 또는 디렉터리 경로를 지정하여 해당 디렉터리 또는 해당 하위 디렉터리 내에 있는 파일을 검색합니다.

한정자예시
path:/octocat filename:readme path:/는 리포지토리의 루트 수준에 “octocat”이라는 단어가 있는 readme 파일을 찾습니다.
path:DIRECTORYform path:cgi-bin language:perlcgi-bin 디렉터리 또는 해당 하위 디렉터리에 “form”이라는 단어가 있는 Perl 파일을 찾습니다.
path:PATH/TO/DIRECTORYconsole path:app/public language:javascriptapp/public 디렉터리 또는 해당 하위 디렉터리에 “console”이라는 단어가 있는 JavaScript 파일을 찾습니다(해당 파일이 app/public/js/form-validators에 있더라도 검색됨).

언어로 검색

작성된 언어를 기준으로 코드를 검색할 수 있습니다. language 한정자는 언어 이름 또는 별칭일 수 있습니다. 지원되는 언어와 해당 이름 및 별칭의 전체 목록은 github-linguist/linguist 리포지토리를 참조하세요.

한정자예시
language:LANGUAGEelement language:xml size:100은 XML로 표시되어 있고, 정확히 100바이트이며, “element”라는 단어가 있는 코드를 찾습니다.
language:LANGUAGEdisplay language:scss는 SCSS로 표시되어 있고 “display”라는 단어가 있는 코드를 찾습니다.
language:LANGUAGEorg:mozilla language:markdown은 Markdown으로 표시된 모든 @mozilla의 리포지토리에서 코드를 찾습니다.

파일 크기로 검색

size 한정자를 사용하여 코드가 있는 파일의 크기를 기준으로 소스 코드를 검색할 수 있습니다. size 한정자는 보다 큼, 보다 작음 및 범위 한정자를 사용하여 코드가 있는 파일의 바이트 크기를 기준으로 결과를 필터링합니다.

한정자예시
size:nfunction size:>10000 language:python은 “function”이라는 단어가 있고, Python으로 작성되었으며, 10KB를 초과하는 파일에 있는 코드를 찾습니다.

파일 이름으로 검색

filename 한정자는 특정 파일 이름을 사용하는 코드 파일을 찾습니다. 파일 찾기를 사용하여 리포지토리에서 파일을 찾을 수도 있습니다. 자세한 내용은 "GitHub에서 파일 찾기"을(를) 참조하세요.

한정자예시
filename:FILENAMEfilename:linguist는 “linguist”라는 파일을 찾습니다.
filename:FILENAMEfilename:.vimrc commands는 “commands”라는 단어가 있는 .vimrc 파일을 찾습니다.
filename:FILENAMEfilename:test_helper path:test language:rubytest 디렉터리 내의 _test_helper_라는 Ruby 파일을 찾습니다.

파일 확장명으로 검색

extension 한정자는 특정 파일 확장명을 사용하는 코드 파일을 찾습니다.

한정자예시
extension:EXTENSIONform path:cgi-bin extension:pmcgi-bin에서 “form”이라는 단어와 .pm 파일 확장명이 있는 코드를 찾습니다.
extension:EXTENSIONicon size:>200000 extension:css는 .css로 끝나고, “icon”이라는 단어가 있으며, 200KB를 초과하는 파일을 찾습니다.

추가 참고 자료