Skip to main content

Recherche de code (hérité)

Vous devez uniquement utiliser la syntaxe de recherche de code hérité si vous utilisez l’API de recherche de code.

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 la 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.

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 ou fork: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 de language:javascript n’est pas valide alors que celle de amazing 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.

QualificateurExemple
in:fileoctocat in:file permet de rechercher du code où « octocat » apparaît dans le contenu du fichier.
in:pathoctocat in:path permet de rechercher du code où « octocat » apparaît dans le chemin d’accès au fichier.
in:file,pathoctocat 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.

QualificateurExemple
user:USERNAMEuser:defunkt extension:rb permet de rechercher du code de @defunkt qui se termine par .rb.
org:ORGNAMEorg:github extension:js permet de rechercher du code de GitHub qui se termine par .js.
repo:USERNAME/REPOSITORYrepo: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.

QualificateurExemple
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:DIRECTORYform 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.

QualificateurExemple
language:LANGUAGEelement language:xml size:100 permet de rechercher du code contenant le mot « element », marqué comme XML et comportant exactement 100 octets.
language:LANGUAGEdisplay language:scss permet de rechercher du code contenant le mot « display » et marqué comme SCSS.
language:LANGUAGEorg: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.

QualificateurExemple
size:nfunction 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 ».

QualificateurExemple
filename:FILENAMEfilename:linguist permet de rechercher les fichiers nommés « linguist ».
filename:FILENAMEfilename:.vimrc commands permet de rechercher les fichiers .vimrc contenant le mot « commands ».
filename:FILENAMEfilename: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.

QualificateurExemple
extension:EXTENSIONform 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:EXTENSIONicon 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 ».

Pour aller plus loin