Note
Cet article décrit la syntaxe de la recherche de code hérité, que vous devez utiliser uniquement pour le point de terminaison de l’API REST pour la recherche de code.
Pour plus d’informations sur la syntaxe de recherche de code que vous pouvez utiliser sur GitHub, consultez « Présentation de la syntaxe de GitHub Code Search ».
Vous pouvez faire une recherche générale dans tout GitHub, ou limiter votre recherche à un dépôt ou une organisation spécifiques. Pour plus d’informations, consultez « À propos de la recherche sur GitHub ».
Seuls les qualificateurs suivants peuvent être utilisés pour rechercher du code. Les qualificateurs de recherche spécifiques aux référentiels, aux utilisateurs ou aux commits ne fonctionnent pas pour la recherche de code.
Tip
- Pour obtenir la liste des syntaxes de recherche que vous pouvez ajouter à n’importe quel qualificateur de recherche afin d’améliorer vos résultats, consultez « Compréhension de la syntaxe de recherche ».
- Utilisez des guillemets autour des termes de recherche composés de plusieurs mots. Par exemple, pour rechercher les problèmes qui ont l’étiquette « In progress », vous devez rechercher
label:"in progress"
. La recherche ne respecte pas la casse.
Considérations relatives à la recherche de code
Compte tenu de la complexité de la recherche de code, des restrictions s’appliquent au mode de recherche :
- Vous devez être connecté à un compte personnel sur GitHub pour rechercher du code dans tous les dépôts publics.
- Le code dans les duplications (forks) n'est consultable que si la duplication a plus d'étoiles que le référentiel parent, et que le référentiel dupliqué a au moins un commit envoyé après avoir été créé. Les duplications avec moins d'étoiles que le référentiel parent ou sans commits ne sont pas indexées pour la recherche de code. Pour inclure les duplications ayant plus d'étoiles que leur parent et au moins un commit envoyé dans les résultats de la recherche, vous devrez ajouter
fork:true
oufork:only
à votre requête. Pour plus d’informations, consultez « Recherche dans les duplications ». - Seule la branche par défaut est indexée pour la recherche de code.
- Seuls les fichiers inférieurs à 384 Ko peuvent faire l’objet d’une recherche.
- Jusqu’à 4 000 référentiels privés peuvent faire l’objet d’une recherche. Ces 4 000 référentiels seront les plus récemment mis à jour parmi les 10 000 premiers référentiels privés auxquels vous avez accès.
- Seuls les référentiels contenant moins de 500 000 fichiers peuvent faire l’objet d’une recherche.
- Seuls les référentiels qui ont eu une activité ou qui sont apparus dans des résultats de recherche au cours de l’année écoulée peuvent faire l’objet d’une recherche.
- À l’exception des recherches par
filename
, vous devez toujours inclure au moins un terme lorsque vous recherchez du code source. Par exemple, la recherche delanguage:javascript
n’est pas valide alors que celle deamazing language:javascript
l’est. - Les résultats de la recherche peuvent tout au plus afficher deux fragments du même fichier, mais il peut y avoir plus de résultats dans le fichier.
- Vous ne pouvez pas utiliser les caractères génériques suivants dans le cadre de votre requête de recherche :
. , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ] @
. La recherche ignorera ces symboles.
Recherche par contenu du fichier ou par chemin d’accès au fichier
Le qualificateur in
vous permet de restreindre votre recherche au contenu du fichier de code source, au chemin d’accès au fichier ou aux deux. Lorsque vous omettez ce qualificateur, la recherche porte uniquement sur le contenu du fichier.
Qualificateur | Exemple |
---|---|
in:file | octocat in:file permet de rechercher du code où « octocat » apparaît dans le contenu du fichier. |
in:path | octocat in:path permet de rechercher du code où « octocat » apparaît dans le chemin d’accès au fichier. |
in:file,path | octocat in:file,path permet de rechercher du code où « octocat » apparaît dans le contenu du fichier ou dans le chemin d’accès au fichier. |
Recherche dans les référentiels d’un utilisateur ou d’une organisation
Pour rechercher du code contenu dans tous les référentiels appartenant à un utilisateur ou à une organisation, vous pouvez utiliser le qualificateur user
ou org
. Pour rechercher du code contenu dans un référentiel spécifique, vous pouvez utiliser le qualificateur repo
.
Qualificateur | Exemple |
---|---|
user:USERNAME | user:defunkt extension:rb permet de rechercher du code de @defunkt qui se termine par .rb. |
org:ORGNAME | org:github extension:js permet de rechercher du code de GitHub qui se termine par .js. |
repo:USERNAME/REPOSITORY | repo:mozilla/shumway extension:as permet de rechercher du code du projet shumway de @mozilla qui se termine par .as. |
Recherche par emplacement de fichier
Vous pouvez utiliser le qualificateur path
pour rechercher du code source qui apparaît à un emplacement spécifique dans un référentiel. Utilisez path:/
pour rechercher des fichiers situés au niveau racine d’un référentiel. Vous pouvez également spécifier un nom de répertoire ou le chemin d’accès à un répertoire pour rechercher des fichiers situés dans ce répertoire ou dans l’un de ses sous-répertoires.
Qualificateur | Exemple |
---|---|
path:/ | octocat filename:readme path:/ permet de rechercher des fichiers readme comportant le mot « octocat » et situés au niveau racine d’un référentiel. |
path:DIRECTORY | form path:cgi-bin language:perl permet de rechercher des fichiers Perl comportant le mot « form » et situés dans le répertoire cgi-bin, ou dans l’un de ses sous-répertoires. |
path:PATH/TO/DIRECTORY | console path:app/public language:javascript permet de rechercher des fichiers JavaScript comportant le mot « console » et situés dans le répertoire app/public, ou dans l’un de ses sous-répertoires (même s’ils résident dans app/public/js/form-validators). |
Recherche par langage
Vous pouvez rechercher du code en fonction du langage dans lequel il est écrit. Le qualificateur language
peut être le nom ou l’alias du langage. Pour obtenir la liste complète des langages pris en charge, avec leurs noms et alias, consultez le dépôt github-linguist/linguist.
Qualificateur | Exemple |
---|---|
language:LANGUAGE | element language:xml size:100 permet de rechercher du code contenant le mot « element », marqué comme XML et comportant exactement 100 octets. |
language:LANGUAGE | display language:scss permet de rechercher du code contenant le mot « display » et marqué comme SCSS. |
language:LANGUAGE | org:mozilla language:markdown permet de rechercher du code de tous les référentiels de @mozilla qui est marqué comme Markdown. |
Recherche par taille de fichier
Vous pouvez utiliser le qualificateur size
pour rechercher du code source en fonction de la taille du fichier dans lequel ce code existe. Le qualificateur size
utilise les qualificateurs supérieur à, inférieur à et de plage pour filtrer les résultats en fonction de la taille en octets du fichier dans lequel se trouve le code.
Qualificateur | Exemple |
---|---|
size:n | function size:>10000 language:python permet de rechercher du code contenant le mot « function », écrit en Python, dans des fichiers de plus de 10 Ko. |
Recherche par nom de fichier
Le qualificateur filename
permet de rechercher des fichiers de code qui portent un certain nom. Vous pouvez également rechercher un fichier dans un référentiel à l’aide de la fonctionnalité de recherche de fichiers. Pour plus d’informations, consultez « Recherche de fichiers sur GitHub ».
Qualificateur | Exemple |
---|---|
filename:FILENAME | filename:linguist permet de rechercher les fichiers nommés « linguist ». |
filename:FILENAME | filename:.vimrc commands permet de rechercher les fichiers .vimrc contenant le mot « commands ». |
filename:FILENAME | filename:test_helper path:test language:ruby permet de rechercher les fichiers Ruby nommés test_helper dans le répertoire test. |
Recherche par extension de fichier
Le qualificateur extension
permet de rechercher les fichiers de code dotés d’une extension de fichier spécifique.
Qualificateur | Exemple |
---|---|
extension:EXTENSION | form path:cgi-bin extension:pm permet de rechercher du code contenant le mot « form », situé sous cgi-bin et portant l’extension de fichier .pm. |
extension:EXTENSION | icon size:>200000 extension:css permet de rechercher des fichiers de plus de 200 Ko qui se terminent par .css et qui comportent le mot « icon ». |