참고
이 문서에서는 코드 검색을 위해 REST API 엔드포인트에만 사용해야 하는 레거시 코드 검색 구문을 다룹니다.
모든 GitHub에서 전역적으로 검색하거나 검색 범위를 특정 리포지토리나 조직으로 지정할 수 있습니다. 자세한 내용은 GitHub 검색 정보을 참조하세요.
해당 코드 검색 한정자를 사용하여 코드만 검색할 수 있습니다. 리포지토리, 사용자 또는 커밋에 대한 검색 한정자는 코드를 검색할 때 작동하지 않습니다.
팁
- 이 문서에는 GitHub.com 웹 사이트의 예제 검색 링크가 포함되어 있지만 모든 GitHub 플랫폼에서 동일한 검색 필터를 사용할 수 있습니다. 연결된 예제 검색에서
github.com을 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](https://github.com/search?q=octocat+in%3Afile&type=Code)은 파일 콘텐츠에 “octocat”이 있는 코드를 찾습니다. | |
in:path | |
| [ | |
| octocat in:path](https://github.com/search?q=octocat+in%3Apath&type=Code)는 파일 경로에 “octocat”이 있는 코드를 찾습니다. | |
in:file,path | |
| [ | |
| octocat in:file,path](https://github.com/search?q=octocat+in%3Afile%2Cpath&type=Code)는 파일 콘텐츠 또는 파일 경로에 “octocat”이 있는 코드를 찾습니다. |
사용자 또는 조직의 리포지토리 내에서 검색
특정 사용자나 조직이 소유한 모든 리포지토리에서 코드를 검색하려면 user 또는 org 한정자를 사용하면 됩니다. 특정 리포지토리에서 코드를 검색하려면 repo 한정자를 사용하면 됩니다.
| 한정자 | 예시 |
|---|---|
user:USERNAME | |
| [ | |
| user:defunkt extension:rb](https://github.com/search?q=user%3Agithub+extension%3Arb&type=Code)는 @defunkt의 .rb로 끝나는 코드와 일치합니다. | |
org:ORGNAME | |
| [ | |
| org:github extension:js](https://github.com/search?utf8=%E2%9C%93&q=org%3Agithub+extension%3Ajs&type=Code)은 .js 끝나는 GitHub 코드와 일치합니다. | |
repo:USERNAME/REPOSITORY | |
| [ | |
| repo:mozilla/shumway extension:as](https://github.com/search?q=repo%3Amozilla%2Fshumway+extension%3Aas&type=Code)는 @mozilla의 shumway 프로젝트에서 .as로 끝나는 코드를 찾습니다. |
파일 위치로 검색
path 한정자를 사용하여 리포지토리의 특정 위치에 있는 소스 코드를 검색할 수 있습니다.
path:/를 사용하여 리포지토리의 루트 수준에 있는 파일을 검색합니다. 또는 디렉터리 이름 또는 디렉터리 경로를 지정하여 해당 디렉터리 또는 해당 하위 디렉터리 내에 있는 파일을 검색합니다.
| 한정자 | 예시 |
|---|---|
path:/ | |
| [ | |
| octocat filename:readme path:/](https://github.com/search?utf8=%E2%9C%93&q=octocat+filename%3Areadme+path%3A%2F&type=Code)는 리포지토리의 루트 수준에 “octocat”이라는 단어가 있는 readme 파일을 찾습니다. | |
path:DIRECTORY | |
| [ | |
| form path:cgi-bin language:perl](https://github.com/search?q=form+path%3Acgi-bin+language%3Aperl&type=Code)은 cgi-bin 디렉터리 또는 해당 하위 디렉터리에 “form”이라는 단어가 있는 Perl 파일을 찾습니다. | |
path:PATH/TO/DIRECTORY | |
| [ | |
| ** | |
console path:app/public language:javascript | |
| ** | |
| ](https://github.com/search?q=console+path%3A%22app%2Fpublic%22+language%3Ajavascript&type=Code)는 app/public 디렉터리 또는 해당 하위 디렉터리에 “console”이라는 단어가 있는 JavaScript 파일을 찾습니다(해당 파일이 app/public/js/form-validators에 있더라도 검색됨). |
언어로 검색
작성된 언어를 기준으로 코드를 검색할 수 있습니다.
language 한정자는 언어 이름 또는 별칭일 수 있습니다. 지원되는 언어와 해당 이름 및 별칭의 전체 목록은 github-linguist/linguist 리포지토리를 참조하세요.
| 한정자 | 예시 |
|---|---|
language:LANGUAGE | |
| [ | |
| element language:xml size:100](https://github.com/search?q=element+language%3Axml+size%3A100&type=Code)은 ‘element’라는 단어를 포함하는, XML로 표시된 코드 중에서 크기가 정확히 100바이트인 것을 찾습니다. | |
language:LANGUAGE | |
| [ | |
| display language:scss](https://github.com/search?q=display+language%3Ascss&type=Code)는 "display"라는 단어가 포함된 코드를 SCSS와 일치시킵니다. | |
language:LANGUAGE | |
| [ | |
| org:mozilla language:markdown](https://github.com/search?utf8=%E2%9C%93&q=org%3Amozilla+language%3Amarkdown&type=Code)은 Markdown으로 표시된 모든 @mozilla의 리포지토리에서 코드를 찾습니다. |
파일 크기로 검색
size 한정자를 사용하여 코드가 있는 파일의 크기를 기준으로 소스 코드를 검색할 수 있습니다.
size 한정자는 보다 큼, 보다 작음 및 범위 한정자를 사용하여 코드가 있는 파일의 바이트 크기를 기준으로 결과를 필터링합니다.
| 한정자 | 예시 |
|---|---|
size:n | |
| [ | |
| function size:>10000 language:python](https://github.com/search?q=function+size%3A%3E10000+language%3Apython&type=Code) 10KB보다 큰 파일에서 Python 작성된 "function"이라는 단어와 코드를 일치합니다. |
파일 이름으로 검색
filename 한정자는 특정 파일 이름을 사용하는 코드 파일을 찾습니다. 파일 찾기를 사용하여 리포지토리에서 파일을 찾을 수도 있습니다. 자세한 내용은 GitHub 파일 찾기을(를) 참조하세요.
| 한정자 | 예시 |
|---|---|
filename:FILENAME | |
| [ | |
| filename:linguist](https://github.com/search?utf8=%E2%9C%93&q=filename%3Alinguist&type=Code)는 “linguist”라는 파일을 찾습니다. | |
filename:FILENAME | |
| [ | |
| filename:.vimrc commands](https://github.com/search?q=filename%3A.vimrc+commands&type=Code)는 “commands”라는 단어가 포함된 .vimrc 파일과 일치합니다. | |
filename:FILENAME | |
| [ | |
| filename:test_helper path:test language:ruby](https://github.com/search?q=minitest+filename%3Atest_helper+path%3Atest+language%3Aruby&type=Code)는 test 디렉터리 내의 _test_helper_라는 Ruby 파일을 찾습니다. |
파일 확장명으로 검색
extension 한정자는 특정 파일 확장명을 사용하는 코드 파일을 찾습니다.
| 한정자 | 예시 |
|---|---|
extension:EXTENSION | |
| [ | |
| form path:cgi-bin extension:pm](https://github.com/search?q=form+path%3Acgi-bin+extension%3Apm&type=Code)은 cgi-bin에서 “form”이라는 단어와 .pm 파일 확장명이 있는 코드를 찾습니다. | |
extension:EXTENSION | |
| [ | |
| icon size:>200000 extension:css](https://github.com/search?utf8=%E2%9C%93&q=icon+size%3A%3E200000+extension%3Acss&type=Code)는 크기가 200KB보다 큰 파일 중에서 .css로 끝나고, "icon"이라는 단어가 포함된 파일을 찾습니다. |