참고: 이 문서에서는 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:file | octocat in:file은 파일 콘텐츠에 “octocat”이 있는 코드를 찾습니다. |
in:path | octocat in:path는 파일 경로에 “octocat”이 있는 코드를 찾습니다. |
in:file,path | octocat in:file,path는 파일 콘텐츠 또는 파일 경로에 “octocat”이 있는 코드를 찾습니다. |
사용자 또는 조직의 리포지토리 내에서 검색
특정 사용자 또는 조직이 소유한 모든 리포지토리에서 코드를 검색하려면 user
또는 org
한정자를 사용하면 됩니다. 특정 리포지토리에서 코드를 검색하려면 repo
한정자를 사용하면 됩니다.
한정자 | 예시 |
---|---|
user:USERNAME | user:defunkt extension:rb는 .rb로 끝나는 @defunkt에서 코드를 찾습니다. |
org:ORGNAME | org:github extension:js는 .js로 끝나는 GitHub에서 코드를 찾습니다. |
repo:USERNAME/REPOSITORY | repo:mozilla/shumway extension:as는 .as로 끝나는 @mozilla의 shumway 프로젝트에서 코드를 찾습니다. |
파일 위치로 검색
path
한정자를 사용하여 리포지토리의 특정 위치에 있는 소스 코드를 검색할 수 있습니다. path:/
를 사용하여 리포지토리의 루트 수준에 있는 파일을 검색합니다. 또는 디렉터리 이름 또는 디렉터리 경로를 지정하여 해당 디렉터리 또는 해당 하위 디렉터리 내에 있는 파일을 검색합니다.
한정자 | 예시 |
---|---|
path:/ | octocat filename:readme path:/는 리포지토리의 루트 수준에 “octocat”이라는 단어가 있는 readme 파일을 찾습니다. |
path:DIRECTORY | form path:cgi-bin language:perl은 cgi-bin 디렉터리 또는 해당 하위 디렉터리에 “form”이라는 단어가 있는 Perl 파일을 찾습니다. |
path:PATH/TO/DIRECTORY | console path:app/public language:javascript 는 app/public 디렉터리 또는 해당 하위 디렉터리에 “console”이라는 단어가 있는 JavaScript 파일을 찾습니다(해당 파일이 app/public/js/form-validators에 있더라도 검색됨). |
언어로 검색
작성된 언어를 기준으로 코드를 검색할 수 있습니다. language
한정자는 언어 이름 또는 별칭일 수 있습니다. 지원되는 언어와 해당 이름 및 별칭의 전체 목록은 github-linguist/linguist 리포지토리를 참조하세요.
한정자 | 예시 |
---|---|
language:LANGUAGE | element language:xml size:100은 XML로 표시되어 있고, 정확히 100바이트이며, “element”라는 단어가 있는 코드를 찾습니다. |
language:LANGUAGE | display language:scss는 SCSS로 표시되어 있고 “display”라는 단어가 있는 코드를 찾습니다. |
language:LANGUAGE | org:mozilla language:markdown은 Markdown으로 표시된 모든 @mozilla의 리포지토리에서 코드를 찾습니다. |
파일 크기로 검색
size
한정자를 사용하여 코드가 있는 파일의 크기를 기준으로 소스 코드를 검색할 수 있습니다. size
한정자는 보다 큼, 보다 작음 및 범위 한정자를 사용하여 코드가 있는 파일의 바이트 크기를 기준으로 결과를 필터링합니다.
한정자 | 예시 |
---|---|
size:n | function size:>10000 language:python은 “function”이라는 단어가 있고, Python으로 작성되었으며, 10KB를 초과하는 파일에 있는 코드를 찾습니다. |
파일 이름으로 검색
filename
한정자는 특정 파일 이름을 사용하는 코드 파일을 찾습니다. 파일 찾기를 사용하여 리포지토리에서 파일을 찾을 수도 있습니다. 자세한 내용은 "GitHub에서 파일 찾기"을(를) 참조하세요.
한정자 | 예시 |
---|---|
filename:FILENAME | filename:linguist는 “linguist”라는 파일을 찾습니다. |
filename:FILENAME | filename:.vimrc commands는 “commands”라는 단어가 있는 .vimrc 파일을 찾습니다. |
filename:FILENAME | filename:test_helper path:test language:ruby는 test 디렉터리 내의 _test_helper_라는 Ruby 파일을 찾습니다. |
파일 확장명으로 검색
extension
한정자는 특정 파일 확장명을 사용하는 코드 파일을 찾습니다.
한정자 | 예시 |
---|---|
extension:EXTENSION | form path:cgi-bin extension:pm은 cgi-bin에서 “form”이라는 단어와 .pm 파일 확장명이 있는 코드를 찾습니다. |
extension:EXTENSION | icon size:>200000 extension:css는 .css로 끝나고, “icon”이라는 단어가 있으며, 200KB를 초과하는 파일을 찾습니다. |
추가 참고 자료
- "검색 결과 정렬"
- "포크에서 검색"
- "GitHub에서 코드 탐색"