Je sais que ce n'est pas un problème, mais j'aime que mon Github soit diversifié sur le plan linguistique. J'ai écrit un projet dans Swift et quand je commets ça dit que c'est dans Objective C.
Je pense que c'est peut-être parce que les frameworks Parse sont écrits en Objective C et que cela le détecte, mais existe-t-il un moyen de changer la langue d'affichage sur la page du référentiel principal?
J'ai trouvé que le plus simple était de créer un fichier nommé .gitattributes dans le dossier racine de mon référentiel et de lui donner le contenu suivant:
* linguist-vendored
*.js linguist-vendored=false
Cet exemple indique à github/linguist d’ignorer tous les fichiers, puis de regarder les fichiers .js. Mon projet https://github.com/aim12340/jQuery-Before-Ready était répertorié en tant que HTML, car les exemples de fichiers HTML étaient plus gros que les fichiers JS. Ce fichier le corrige pour moi et maintenant il est répertorié comme JavaScript
Comme mentionné dans la page d'aide GitHub
GitHub utilise la bibliothèque open source Linguist pour déterminer les langues des fichiers pour la coloration syntaxique et les statistiques du référentiel.
Certains fichiers sont difficiles à identifier et parfois, les projets contiennent plus de fichiers de bibliothèque et de fournisseurs que leur code principal.
Donc, vous devez vérifier avec github/linguist#troubleshooting
afin de remédier à cette situation.
Les pourcentages sont calculés en fonction des octets de code de chaque langue, tels qu'ils sont rapportés par l'API List Languages .
Si la barre indique une langue inattendue:
- Cliquez sur le nom de la langue dans la barre de statistiques pour afficher la liste des fichiers identifiés comme étant cette langue.
- Si vous voyez des fichiers que vous n'avez pas écrits, envisagez de les déplacer dans l'un des chemins pour le code vendeur , ou utilisez la fonction de substitution de manual pour les ignorer.
- Si les fichiers sont mal classés, recherchez problèmes en suspens pour voir si quelqu'un d'autre a déjà signalé le problème. Toute information que vous pouvez ajouter, notamment des liens vers des référentiels publics, est utile.
- S'il n'y a aucun problème signalé lié à cette erreur de classification, ouvrez un problème et incluez un lien vers le référentiel ou un exemple du code en cours de mauvaise classification.
Mise à jour de février 2017 (un an plus tard):
L'article "Comment changer la langue du repo dans GitHub" de Monica Powell
Après avoir cherché comment résoudre GitHub en classant mal la langue de vos projets, j'ai découvert que la solution était aussi simple que d'indiquer à GitHub les fichiers à ignorer.
Bien que vous souhaitiez toujours valider ces fichiers dans GitHub et que vous ne puissiez donc pas utiliser un
.gitignore
, vous pouvez indiquer au linguiste de GitHub les fichiers à ignorer dans un fichier.gitattributes
.
static/* linguist-vendored
Ce fichier d’une ligne a demandé à GitHub d’ignorer tous mes fichiers dans mon dossier
static/
, où sont stockés les éléments CSS et autres pour une application Flask.
La section "Utilisation de .gitattributes
" illustre bien comment marquer des langues incorrectes.
Par exemple:
La vérification du code que vous n'avez pas écrit, comme les bibliothèques JavaScript, dans votre dépôt Git est une pratique courante, mais cela gonfle souvent les statistiques de langue de votre projet et peut même amener votre projet à être étiqueté comme une autre langue.
Par défaut, Linguist traite tous les chemins définis dansvendor.yml
comme étant gérés et ne les inclut donc pas dans les statistiques de langue pour un référentiel.Utilisez l'attribut linguist-vendored pour les chemins de fournisseur ou de non-fournisseur.
$ cat .gitattributes
special-vendored-path/* linguist-vendored
jquery.js linguist-vendored=false
Pour faire simple, laissez-moi partager mes pas:
Changer de répertoire dans le dossier racine de votre projet;
Créez un fichier nommé .gitattributes en utilisant les outils de votre choix:
toucher .gitattributes
Editez le fichier en suivant les instructions de la bibliothèque Linguist pour indiquer à Github comment procéder, par exemple:
vi .gitattributes
Utiliser linguist-vendored peut laisser Github "ignorer" la détection de ce dossier et de ses sous-dossiers:
src/main/resources/static/* linguist-vendored
Utilisez l'attribut linguist-documentation pour marquer ou désélectionner les chemins en tant que documentation:
project-docs/* linguist-documentation
OU marquer un fichier individuel contenant de la documentation
documented_code.rb linguist-documentation=true
C'est un peu bizarre, mais vous pouvez aussi faire - de dire à Github de traiter certains fichiers avec une extension spécifique (par exemple * .rb) comme étant Java:
*.rb linguist-language=Java
Git add, commit, puis Push to Github, l’étiquette serait corrigée presque immédiatement.
Remplacez vos .gitattributes par ceci, qui reclasse les fichiers tous en Java.
*.* linguist-language=Java
Dans le fichier .gitattributes, dites simplement à Linguist de ne pas déterminer les langues de fichier que vous ne voulez pas.
Exemple pour ignorer les fichiers Javascript.
*.js linguist-vendored
Créez un fichier nommé .gitattributes dans le dossier racine de votre projet. Ajouter {file_name} linguist-generated=true
peut faire l'affaire. Dans mon cas,
mvnw.cmd linguist-generated=true
mvnw linguist-generated=true
a travaillé pour moi.
Créez un fichier .gitattributes à la racine de votre dossier. Supposons que vous vouliez que le langage soit Java, il suffit de copier-coller
*.Java linguist-detectable=true *.js linguist-detectable=false *.html linguist-detectable=false *.xml linguist-detectable=false
dans le fichier .gitattributes et poussez le fichier dans le fichier repo.Refresh de votre page GitHub pour voir le changement de langue.
J'ai eu un projet qui a été démarré dans Objective-C et qui a été complètement remplacé par Swift (nouveau projet mais dans le même répertoire de dépôt) . (toutes les solutions ci-dessus)
Donc, si le gabarit est en place, et que vous êtes sûr que tout projet est une seule langue - vous mettez radicalement:
Seulement cela a résolu le problème :)
Vous pouvez éviter la détection inattendue de langues (par extension, ou par sous-dossier de projet, etc.) en utilisant l'option détectable github linguist: dans votre fichier .gitattributes:
Seuls les langages de programmation sont inclus dans les statistiques sur les langues. Les langues d'un type différent (tel que défini dans
languages.yml
) ne sont pas "détectables" et ne sont donc pas incluses dans les statistiques sur les langues.Utilisez l'attribut
linguist-detectable
pour marquer ou désélectionner les chemins détectables:
*.kicad_pcb linguist-detectable=true
*.sch linguist-detectable=true
tools/export_bom.py linguist-detectable=false
La solution fournie par l'expert EamonnM qui a répondu à la question ci-dessus a fonctionné dans mon projet, mais il y a deux choses importantes.
La langue au début de la deuxième ligne de son code était la langue que vous voulez et non la langue que vous n'aimez pas. N'oubliez pas de le distinguer.
Il semble que vous ne puissiez pas taper d’espace avant le *
. (Par exemple, je devrais saisir *.Swift linguist-vendored=false
lorsque je souhaite changer ma langue en Swift.)